You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分SQL表中指定列值为独立记录并保留其余列数据

解决SQL多值列拆分问题

你的问题出在没有使用拆分函数返回的拆分后的值,而是直接读取原表的Apps列,所以结果还是原记录,不会拆分出独立行。

正确的查询应该调用拆分函数返回的拆分结果字段(DelimitedSplit8K通常会返回Item列存储拆分后的单个值),写法如下:

select t1.ID, s.Item as Apps
from ImpactedProjects t1
outer apply dbo.DelimitedSplit8K(t1.Apps, ';') s
where t1.ID = 13

如果拆分后的应用名称前后有空格,可以加上TRIM处理:

select t1.ID, LTRIM(RTRIM(s.Item)) as Apps
from ImpactedProjects t1
outer apply dbo.DelimitedSplit8K(t1.Apps, ';') s
where t1.ID = 13

另外,如果你的SQL Server版本是2016及以上,推荐用官方内置的STRING_SPLIT函数,用法更简洁:

select t1.ID, TRIM(s.value) as Apps
from ImpactedProjects t1
outer apply STRING_SPLIT(t1.Apps, ';') s
where t1.ID = 13

内容的提问来源于stack exchange,提问作者OrcaZep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:40:38