Occasionally I've needed to take a string, and extract all the words out of it. For example a string like 'hello there greg' might lead me to want the three words 'hello', 'there', and 'greg'. Note that I usually want them trimmed, not just extracted.
In our free SDU Tools for developers and DBAs, we added a table-valued function ExtractTrimmedWords to help with this. You can pass it a string, and it will pull it apart for you, assuming that you have whitespace separating the words.
We use space , tab , carriage return , and line feed as whitespace characters for separating words.
The main image above shows it in use. As well as returning the words, we decided to return a WordNumber column as well, in case the ordering of the words matter to you.
I wish Microsoft had done that with their STRING_SPLIT function. (And we added that in our SplitDelimitedString function).
You can see ExtractTrimmedWords in action here:
To become an SDU Insider and to get our free tools and eBooks, please just visit here:
http://sdutools.sqldownunder.com