SQL 怎么将一列中的数据按一个分隔符分成多列显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 怎么将一列中的数据按一个分隔符分成多列显示相关的知识,希望对你有一定的参考价值。

with HrmResource(id,lastname) as (
select 167,'段秋月' union all
select 170,'杨子军'
)
,formtable_main_78(Requestid,WTCW,XMCY) as (
select 722,'xxxxx公司','167,170'
)
 
select a.*,stuff(c.[col],1,1,'') [项目名称]
from formtable_main_78 a
cross apply 
(select ','+lastname from HrmResource b 
where charindex(','+convert(varchar,b.id)+',',','+a.XMCY+',')>0 
for xml path('')) c([col])

结果:

追问

没对啊,你给的这种解决办法是固定的啊,问题是XMCY这列值不固定。
可能出现:
722 xxxx公司 167,170 段秋月,杨子军
723 yyyy公司 157,158,159,161 雷鸣,谢涛,张玲瑜,张潇
怎么办

参考技术A 设计这样的表的人都很牛逼本回答被提问者采纳 参考技术B 这是谁设计的表结构?

以上是关于SQL 怎么将一列中的数据按一个分隔符分成多列显示的主要内容,如果未能解决你的问题,请参考以下文章

sql 分隔符

excel中能否将一列数据分成多列?

使用 SSIS OR T-SQL 将一列带引号和不带引号的逗号分隔值拆分为多列

excel怎么把一长列平均分成多列?

根据一列中的文本将一列数据分成两部分

excel里面怎么将一列数据平均的分成多列