oracle 一行变多行
程序员文章站
2022-04-24 14:52:53
...
1、正则表达式 SELECT distinct T.MY_ID, REGEXP_SUBSTR(T.MY_VALUE, '[^,]', 1, LEVEL) --返回第level次匹配的结果 FROM MY_CHANGE T CONNECT BY LEVEL = REGEXP_COUNT(T.MY_VALUE, ',') 1 --循环次数 ORDER BY T.MY_ID; 2、用connct by rownum 和substr se
1、正则表达式
SELECT distinct T.MY_ID, REGEXP_SUBSTR(T.MY_VALUE, '[^,]', 1, LEVEL) --返回第level次匹配的结果
FROM MY_CHANGE T
CONNECT BY LEVEL
ORDER BY T.MY_ID;
2、用connct by rownum 和substr
select my_id, substr(replace(my_value,',',''),tb2.rn,1)sub from
MY_CHANGE ,(select rownum rn from dual connect by rownum
where substr(regexp_replace(my_value,',',''),tb2.rn,1) is not null
ORDER BY MY_ID;
推荐阅读
-
php 批量添加多行文本框textarea一行一个
-
Sql Server:多行合并成一行,并做分组统计的两个方法
-
Oracle 多行记录合并/连接/聚合字符串的几种方法
-
随机获取oracle数据库中的任意一行数据(rownum)示例介绍
-
Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
-
oracle—SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
-
Linux下把文件多行合并成一行的多种方法
-
SQL Server中将多行数据拼接为一行数据(一个字符串)
-
Python 把较长的一行代码分成多行的技巧
-
python一行sql太长折成多行并且有多个参数的方法