字符串模式:
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个分隔符。