我有一个名为Description的列,其中行与定界符'-
'一起插入。
我使用查询将其分开。该查询在下面提到
select Description from Sheet1$
cross apply
SplitString('Description','-')
这些列包含以下数据
Description
00000131-125
0000154-4625-4569-4568-45213
答案 0 :(得分:0)
在下面尝试一下
DECLARE @Str AS TABLE ([Description] varchar(max) )
INSERT INTO @Str
SELECT '00000131-125' UNION ALL
SELECT '0000154-4625-4569-4568-45213'
SELECT Id,
LTRIM(RTRIM(Split.a.value('.','nvarchar(100)'))) AS [Description]
FROM
(
SELECT
ROW_NUMBER()OVER(ORDER BY (SELECT Null)) AS Id,
CAST('<S>'+(REPLACE([Description],'-','</S><S>')+'</S>') AS XML ) AS [Description]
FROM @Str
)AS A
CROSS APPLY [Description].nodes('S') AS Split(a)
在查询的末尾添加FOR XML PATH,可以将查询的结果作为XML元素输出,并在PATH参数中包含元素名称。
结果
Id Description
---------------
1 00000131
1 125
2 0000154
2 4625
2 4569
2 4568
2 45213