小编典典

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

all

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

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


阅读 82

收藏
2022-03-11

共1个答案

小编典典

您可能会在 SQL User Defined Function to Parse a Delimited
String

中找到有用的解决方案(来自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
2022-03-11