我有一個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