【问题标题】:how to split a string by space in SQL [duplicate]如何在SQL中按空格分割字符串[重复]
【发布时间】:2017-03-09 13:17:29
【问题描述】:

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

用空格分隔的字符串有不同的长度。 我想让每个字符串用空格分隔,这意味着我想要有 5 个不同的项目作为结果。

1 my
2 name
3 is
4 Jason
5 Fernandez

我使用的是 SQL Server 2008。

谢谢。

【问题讨论】:

  • 谷歌:“sql server 拆分功能”

标签: sql sql-server sql-server-2008


【解决方案1】:
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

【讨论】:

  • 可能是最糟糕的分割字符串的方法
  • 您有更好的方法来获得结果吗?难怪你是弱者。
  • 请检查重复的链接。这只是一个建议,不要以坏的方式接受它。保持冷静
  • 正确而礼貌的说法是“有更好的方法来拆分字符串”基本英语。
  • 好吧,我的错……
猜你喜欢
  • 2011-12-15
  • 1970-01-01
  • 2021-10-05
  • 2017-11-10
  • 2013-10-11
  • 2018-03-22
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
相关资源
最近更新 更多