无法在 sqlserver 中分隔分隔数据



我有一个名为"描述"的列,因为这些行与分隔符" - "一起插入。

我使用查询将其分开。下面提到了查询

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

最新更新