小编典典

如何分割字符串以便可以访问项目x?

sql

使用SQL Server,如何分割字符串以便可以访问项x?

取一个字符串“ Hello John Smith”。如何将字符串按空格分割并访问索引1处的项,该项应返回“ John”?


阅读 216

收藏
2021-05-05

共1个答案

小编典典

您可能会发现
SQL用户定义函数中解析带分隔符的字符串
的解决方案
很有
用(来自The Code Project)。

您可以使用以下简单逻辑:

Declare @products varchar(200) = '1|20|3|343|44|6|8765'
Declare @individual varchar(20) = null

WHILE LEN(@products) > 0
BEGIN
    IF PATINDEX('%|%', @products) > 0
    BEGIN
        SET @individual = SUBSTRING(@products,
                                    0,
                                    PATINDEX('%|%', @products))
        SELECT @individual

        SET @products = SUBSTRING(@products,
                                  LEN(@individual + '|') + 1,
                                  LEN(@products))
    END
    ELSE
    BEGIN
        SET @individual = @products
        SET @products = NULL
        SELECT @individual
    END
END
2021-05-05