開發過程中,經常會用到用逗號分隔的字段,這時候如果用where xx in 的時候,如果把字段取出再拼接字符串的話,未免太麻煩,
網上有幾種方法,值得考慮。
方法一:Sql Server XML方法:
SELECT --列名 --ROW_NUMBER() over(order by (select 1)) as id, c.value('.', 'varchar(50)') AS list FROM 表名 a CROSS APPLY ( SELECT CAST('<row>' + REPLACE(列名, ',', '</row><row>') + '</row>' AS XML) AS xmlcode ) C1 CROSS APPLY xmlcode.nodes('*') t ( c );
還有用存儲過程的,還未研讀明白,改日再更。