使用SQL Server,如何分割字符串以便可以访问项x?
取一个字符串“ Hello John Smith”。如何将字符串按空格分割并访问索引1处的项,该项应返回“ John”?
您可能会发现 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