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的分隔符拆分成多行

展开阅读全文

没有更多推荐了,返回首页