表中某字段按分隔符拆分为多行
DECLARE @TB AS TABLE (C1 INT,C2 VARCHAR(20),C3 VARCHAR(200))
INSERT INTO @TB(C1,C2,C3)
SELECT 1 AS C1,'A','a,b,c'
UNION
SELECT 2,'A','a,b'
UNION
SELECT 3,'B','a,b'
UNION
SELECT 4,'C','a,b'
SELECT * FROM @TB
C1 C2 C3
----------- -------------------- --------------------
1 A a,b,c
2 A a,b
3 B a,b
4 C a,b
想实现结果为:
C1 C2 C3
----------- -------------------- --------------------
1 A a
1 A b
1 A c
2 A a
2 A b
3 B a
3 B b
4 C a
4 C b
相关推荐
Kettle列拆分多行
Kettle列拆分多行,例如传入 '1,2,3,4'逗号分隔的参数,转换成多行数据
如何拆分Microsoft SQL Server表行数据
本技巧向您展示了一种拆分Microsoft SQL Server表行数据的简单方法。
MySQL字符串拆分实现[代码]
本文详细介绍了如何在MySQL中实现字符串拆分功能,即将包含分隔符的字符串拆分为多行或多列。文章首先描述了需求场景,然后提供了具体的SQL实现方法,包括使用SUBSTRING_INDEX、REPLACE和LENGTH等函数。通过案例演示,展示了如何将一行数据中的逗号分隔字符串拆分为多行数据。此外,文章还解析了实现原理,包括如何利用辅助表的自增字段模拟遍历,以及如何通过嵌套函数调用精确截取目标字符串。最后,文章还扩展了判断外部值是否在拆分后的列中的方法,包括使用find_in_set和instr函数,并提供了字符串转多列的SQL示例。
SQL Server单行转多行[项目源码]
在SQL Server中,将单行数据转换为多行数据通常涉及将逗号分隔的字段值拆分成多行,这一操作称为“拆分”或“展开”。文章介绍了四种常用方法:1. 使用SQL Server 2016及更高版本的内置函数STRING_SPLIT,通过CROSS APPLY实现拆分;2. 对于早期版本,可通过创建自定义函数SplitString来实现类似功能;3. 使用临时表或表变量结合STRING_SPLIT或自定义逻辑处理固定字符串的拆分;4. 创建专门的拆分表存储结果。文章建议根据SQL Server版本和个人偏好选择方法,推荐新版本用户使用STRING_SPLIT函数,而旧版本用户可采用自定义函数或临时表方案。
详解oracle管道函数的用法(一行拆为多行)
主要介绍了oracle管道函数的用法(一行拆为多行),非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


