Technical Article

Handling Delimited Strings in T-SQL

,

There may be cases where you want to work with delimited strings in T-SQL. Following two examples will cover most of the stuff 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

Rate

3 (1)

You rated this post out of 5. Change rating

Share

Share

Rate

3 (1)

You rated this post out of 5. Change rating