无法在sql server中分隔分隔数据

Not able to separate delimited data in sqlserver

我有一个名为 Description 的列,其中的行与分隔符“-”一起插入。

我是用查询把它分开的。查询如下

select Description from Sheet1$ 
cross apply
 SplitString('Description','-')  

列有以下数据

Description
00000131-125
0000154-4625-4569-4568-45213

试试下面这个

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