There may be cases where you want to work with delimited strings in T-SQL. The following two examples will cover some of the problems that you will face while working with strings.
Find the count of words in a comma delimited string:
declare @mystring varchar(200) set @mystring="vb,asp,sqlserver,html" select (len(@mystring)-len(replace(@mystring,',',''))+1)
Parsing the delimited string:
--variable i is for current and j for previous locations DECLARE @mystring varchar(255), @myword varchar(50) DECLARE @i int,@j int SELECT @mystring = 'vb,asp,sqlserver,html' SELECT @i = 0,@j = 0 IF SUBSTRING (@mystring, LEN (@mystring), 1) <> ',' BEGIN SELECT @mystring = @mystring + ',' END SELECT @i = CHARINDEX (',', @mystring, @i + 1) WHILE @i > 0 BEGIN SELECT @myword = SUBSTRING (@mystring, @j+1, (@i - @j) -1) SELECT @myword SELECT @j = @i SELECT @i = CHARINDEX (',' , @mystring, @i + 1) END
For More Information
- What do you think about this tip? E-mail us at editor@searchDatabase.com with your feedback.
- The Best SQL Server Web Links: tips, tutorials, scripts, and more.
- Have an SQL Server tip to offer your fellow DBA's and developers? The best tips submitted will receive a cool prize--submit your tip today!
- Ask your technical SQL Server questions--or help out your peers by answering them--in our live discussion forums.
- Check out our Ask the Experts feature: Our SQL, Database Design, Oracle, SQL Server, DB2, metadata, and data warehousing gurus are waiting to answer your toughest questions.