我需要將以下值從一個變量轉換:逗號分隔列表的字符串SQL
1234,1234,12345,12346,1344,4564
了這一點。
我曾嘗試:
DECLARE @VAL AS VARCHAR(MAX)
SELECT @VAL = '1234,1234,12345,12346,1344,4564'
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + @VAL
SELECT @listStr AS 'List'
GO
,但我得到:
1234,1234,12345,12346,1344,4564
'select''''+ replace(@yourvariable,',',''',''')+''''' –
COALESCE從其參數中返回第一個非空值。這與字符串操作無關。此外,請勿使用'varchar(max)',它旨在用作BLOB,而不是作爲方便的字符串,而不是大小爲 –
呃,爲什麼?那麼你會把'@ listStr'放入類似'WHERE column IN('+ @listStr +')'的東西嗎?你真的應該看看錶值參數,或者如果你在<2008年,分裂字符串。 –