-3

I have a string like this: 'My name is Jason Fernandez.'

Strings separated by speace have different lengths. I want to get each of the strings separated by space, which means I want to have 5 different items as a result.

1 my
2 name
3 is
4 Jason
5 Fernandez

I am using SQL server 2008.

Thank you.

Gordon Linoff
  • 1,242,037
  • 58
  • 646
  • 786
Nayana
  • 1,513
  • 3
  • 24
  • 39

1 Answers1

4
DECLARE @siteIds VARCHAR(255)
DECLARE @strngLen int
DECLARE @split TABLE(siteId VARCHAR(100))

SET @siteIds = 'My name is Jason Fernandez'

SET @strngLen = CHARINDEX(' ', @siteIds)

WHILE CHARINDEX(' ', @siteIds) > 0
BEGIN
    SET @strngLen = CHARINDEX(' ', @siteIds);

    INSERT INTO @split
    SELECT SUBSTRING(@siteIds,1,@strngLen - 1);

    SET @siteIds = SUBSTRING(@siteIds, @strngLen + 1, LEN(@siteIds));
END

INSERT INTO @split
SELECT @siteIds

SELECT * FROM @split
ace_mccloud
  • 497
  • 1
  • 8
  • 25