在SQL Server中使用三个分隔符拆分字符串

时间:2013-12-05 14:08:50

标签: sql-server string split

字符串模式:

1#5,7;2#;3#4

这是由分号分隔的三组值。

#在一列之前的数字,#之后的数字(用逗号分隔)进入另一列(所以第二组在这种情况下只有一个值)

我该怎么做?

这是我在网上发现的:

DECLARE @S VARCHAR(MAX) = '1,100,12345|2,345,433|3,23423,123|4,33,55'

DECLARE @x xml = '<r><c>' + 
             REPLACE(REPLACE(@S, ',','</c><c>'),'|','</c></r><r><c>') + 
             '</c></r>'

 SELECT x.value('c[1]','int') AS seq,
   x.value('c[2]','int') AS invoice,
   x.value('c[3]','int') AS amount
 FROM @x.nodes('/r') x(x)
然而,这已经修复了没有。每个分隔符后的数字。它也只使用2个分隔符。

0 个答案:

没有答案