应用场景:需要将一行中用逗号分隔的数据拆分成多行。
1、原始数据如下

2、需要的数据如下:

3、语句如下:
SELECT
a.name,
CASE
WHEN LEN(a.comp) > 0 THEN SUBSTRING(a.comp, number, CHARINDEX(',', a.comp+ ',', number) - number)
ELSE NULL
END AS company
FROM data_qx a
JOIN master..spt_values sv ON sv.type = 'P' -- 仅使用数字序列
WHERE sv.number >= 1
AND sv.number <= LEN(a.comp)
AND SUBSTRING(',' + a.comp, sv.number, 1) = ','
本文介绍如何使用SQL语句将原始数据中的逗号分隔值转换为多行格式,通过示例展示了从数据库中提取并拆分数据的过程,适合数据处理和SQL初学者。
5131

被折叠的 条评论
为什么被折叠?



