【问题标题】:string into single column [duplicate]字符串成单列[重复]
【发布时间】:2015-01-31 01:25:19
【问题描述】:

我有如下所示的逗号分隔字符串来转换成一列。

示例

给定字符串:

DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'

必须转换成单列:

columnName
-----------
ABC
DEF
GHI
JKL
MNO

【问题讨论】:

标签: sql-server sql-server-2008-r2


【解决方案1】:

试试这个。 使用 LTRIMRTRIM 函数删除前导和尾随空格。

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) 

输出:

Split_Data
----------
ABC
DEF
GHI
JKL
MNO

【讨论】:

  • 太棒了!太感谢了。将在 5 分钟内接受。
猜你喜欢
  • 2014-03-30
  • 2015-09-11
  • 2012-12-15
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多