SQLServer 以逗號分割的字符串轉換成多條數據


開發過程中,經常會用到用逗號分隔的字段,這時候如果用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 );

 

還有用存儲過程的,還未研讀明白,改日再更。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM