IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
GO
CREATE TABLE tb (id INT,col VARCHAR(30))
INSERT INTO tb VALUES (1,'aa,bb')
INSERT INTO tb VALUES (2,'aaa,bbb,ccc')
go
SELECT T1.ID
,SUBSTRING(T1.COL,T2.NUMBER,CHARINDEX(',',T1.COL+',',NUMBER)-T2.NUMBER)
FROM TB T1
INNER JOIN MASTER..SPT_VALUES T2
ON T2.TYPE='P' AND CHARINDEX(',',','+T1.COL,T2.NUMBER)=T2.NUMBER
--结果:
/*
1 aa
1 bb
2 aaa
2 bbb
2 ccc
*/
拆分字符串
本文介绍了一种使用 SQL 实现的从逗号分隔的字符串中拆分数据的方法,并展示了如何将这些数据转换为表格形式,以便进行进一步的数据处理。具体包括创建临时表、插入示例数据及使用 T-SQL 的 SUBSTRING 和 CHARINDEX 函数实现字符串的拆分。

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



