mssql,逗号分隔的字符串转换成一列数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql,逗号分隔的字符串转换成一列数据相关的知识,希望对你有一定的参考价值。

表A
xm xk
张三 语文,历史,音乐
李四 体育,语文

现在想查询得到
xm xk
张三 语文
张三 历史
张三 音乐
李四 体育
李四 语文

求简单查询实现,最好用函数

参考技术A Select
a.xm,xk=substring(a.xk,b.number,charindex(',',a.xk+',',b.number)-b.number)
from
表A a join master..spt_values b
ON b.type='p' AND b.number BETWEEN 1 AND LEN(a.xk)
where
substring(','+a.xk,b.number,1)=','本回答被提问者和网友采纳

以上是关于mssql,逗号分隔的字符串转换成一列数据的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL查询回显列之间用逗号分隔开怎么操作?

SQL Server 行转列,列转行。多行转成一列

如何相互转换逗号分隔的字符串和List

数组转字符串(属性加单引号,逗号分隔)

sql 把一个用逗号分隔的多个数据字符串变成一个表的一列

SQL中逗号分隔的查询结果转换成单个字符串放到in语句里