Sqlserver——查询技巧/优化方案——单列按指定符号拆分成多行

直接贴代码,下面是例子,假如业务表的结构如下

1行id 需要将对应的 Split字段拆分多行来显示

------创建一个临时表--------存储数据
CREATE TABLE #tab_1
(
id INT,--主ID
name NVARCHAR(20)---拆分出来的每个子ID
)


-------(#B业务表)------循环业务表的所有主ID

DECLARE @i INT=1 
DECLARE @q INT=(SELECT MAX(id) FROM #B)


WHILE @i<=@q 
BEGIN
-----------循环过程把每个主ID对应的子ID数据,和主ID一起,作为两个字段一起插入临时表

INSERT INTO #tab_1
        ( id, name )
SELECT 
@i,
Value 
FROM dbo.plm_liuz_fn_Split1((SELECT Split FROM #b WHERE id=@i),'-')

SET @i=@i+1
END
SELECT * FROM #tab_1

最后的显示结果就为:

根据Split的分隔符拆分成多行

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值