我有一个varchar
变量像这样定义。在SQL Server 2005中分离变量值
declare @IDs varchar(50)
set @IDs ='111,123,567,'
现在我需要提取列表中的最后的值总是567.
在@IDs
的值可以是这样也
set @IDs ='56,'
在这种情况下,我们需要只提取值
我们该怎么做?任何对此的帮助都会很大。
感谢
库马尔
我有一个varchar
变量像这样定义。在SQL Server 2005中分离变量值
declare @IDs varchar(50)
set @IDs ='111,123,567,'
现在我需要提取列表中的最后的值总是567.
在@IDs
的值可以是这样也
set @IDs ='56,'
在这种情况下,我们需要只提取值
我们该怎么做?任何对此的帮助都会很大。
感谢
库马尔
我想你会发现这个用户定义函数来分割字符串有所帮助:
http://www.codeproject.com/Articles/7938/SQL-User-Defined-Function-to-Parse-a-Delimited-Str
您可以使用字符串分路器在这里找到:http://www.sqlservercentral.com/articles/Tally+Table/72993/
这是非常快,你可以这样称呼它:
SELECT *
FROM dbo.DelimitedSplit8K(@IDs,',')
这将返回字符串中所有值的结果集。类似
东西已经被问: http://stackoverflow.com/questions/314824/t-sql-opposite-to-string-concatenation-how-to-split-string-into-multiple- RECO – 2012-02-21 06:44:07