1
我有逗号分隔的字符串,如下所示转换为列。将字符串转换为单列
例:
给定的字符串:
DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'
必须转换成单柱:
columnName
-----------
ABC
DEF
GHI
JKL
MNO
我有逗号分隔的字符串,如下所示转换为列。将字符串转换为单列
例:
给定的字符串:
DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'
必须转换成单柱:
columnName
-----------
ABC
DEF
GHI
JKL
MNO
试试这个。 使用LTRIM
和RTRIM
函数删除前导和尾随空格。
DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'
SELECT Rtrim(Ltrim(Split.a.value('.', 'VARCHAR(100)'))) Split_Data
FROM (SELECT Cast ('<M>' + Replace(@STR, ',', '</M><M>') + '</M>' AS XML) AS Data) AS A
CROSS APPLY Data.nodes ('/M') AS Split(a)
OUTPUT:
Split_Data
----------
ABC
DEF
GHI
JKL
MNO
太棒了!非常感谢。在5分钟内接受这个。 – MAK 2014-12-02 17:44:02
约*分裂*字符串很多的DUP; [Tsql拆分字符串](http://stackoverflow.com/questions/10914576/tsql-split-string) – 2014-12-02 17:35:59