如何在SQL中按空格拆分字符串

如何在SQL中按空格拆分字符串,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有这样一个字符串: “我叫杰森·费尔南德斯。” 由speace分隔的字符串具有不同的长度。 我希望每个字符串都用空格分隔,这意味着我希望得到5个不同的项目 1 my 2 name 3 is 4 Jason 5 Fernandez 我正在使用SQLServer2008 谢谢。Google:“sql server拆分函数”可能是拆分字符串最糟糕的方法您有更好的方法获得结果吗?怪不得你的朋友很弱。请检查重复链接。。这只是一个建议,别见不得人。。保持冷静说同样的话,正确礼貌的方式是“有更好的方法来分

我有这样一个字符串: “我叫杰森·费尔南德斯。”

由speace分隔的字符串具有不同的长度。 我希望每个字符串都用空格分隔,这意味着我希望得到5个不同的项目

1 my
2 name
3 is
4 Jason
5 Fernandez
我正在使用SQLServer2008


谢谢。

Google:“sql server拆分函数”可能是拆分字符串最糟糕的方法您有更好的方法获得结果吗?怪不得你的朋友很弱。请检查重复链接。。这只是一个建议,别见不得人。。保持冷静说同样的话,正确礼貌的方式是“有更好的方法来分割字符串”基础英语。。。。。。
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