关于oracle的将字符串转换成多行
来源:互联网 发布:2017陌陌站街营销软件 编辑:程序博客网 时间:2024/06/05 12:40
1.方法一 (sql方法)
with temp0 as
(select LEVEL lv from dual CONNECT BY LEVEL <= 100)
select fd_objectid,
substr(t.vals,
instr(t.vals, ',', 1, tv.lv) + 1,
instr(t.vals, ',', 1, tv.lv + 1) -
(instr(t.vals, ',', 1, tv.lv) + 1)) AS name
from (select fd_objectid,
',' || check_type || ',' AS vals,
length(check_type || ',') -
nvl(length(REPLACE(check_type, ',')), 0) AS cnt
from DAN_CHECK_INFO
where is_del = 0) t
join temp0 tv
on tv.lv <= t.cnt
order by 1
(select LEVEL lv from dual CONNECT BY LEVEL <= 100)
select fd_objectid,
substr(t.vals,
instr(t.vals, ',', 1, tv.lv) + 1,
instr(t.vals, ',', 1, tv.lv + 1) -
(instr(t.vals, ',', 1, tv.lv) + 1)) AS name
from (select fd_objectid,
',' || check_type || ',' AS vals,
length(check_type || ',') -
nvl(length(REPLACE(check_type, ',')), 0) AS cnt
from DAN_CHECK_INFO
where is_del = 0) t
join temp0 tv
on tv.lv <= t.cnt
order by 1
2.方法二(正则表达式方法)
with a as (select '/ABC/AA/AD/ABD/JI/CC/ALSKD/ALDKDJ' id from dual)
select regexp_substr(id,'[^/]+',1,rownum) id from a
connect by rownum<=length(regexp_replace(id,'[^/]+'))
select regexp_substr(id,'[^/]+',1,rownum) id from a
connect by rownum<=length(regexp_replace(id,'[^/]+'))
阅读全文
0 0
- 关于oracle的将字符串转换成多行
- oracle sql 将字符串转换成多行
- 关于将一个字符串转换为整数的问题
- 将IP字符串转换成数值(ORACLE)
- Oracle将字符串转换为数字
- Oracle将字符串转换为数字
- 关于字符串转换的
- Oracle字符串转换成多行
- Oracle将以逗号分隔的数字字符串根据字典表转换为中文字符串
- Oracle将number类型的时间值转换成时间格式的字符串
- 关于java将String类型的时间字符串转换为Date类型的问题
- oracle 最有用的将分隔符字符串转换成数组
- Oracle将时分秒格式的字符串转换为秒进行计算
- 关于字符串转换的总结
- 关于如何将表中日期字符串转换成星期几的方法
- Oracle将字符串转换为数字,并替换特殊字符
- 将Oracle中的GUID转换为字符串输出函数
- Oracle将字符串(例:69.05%)转换为数字
- 把内容写到剪贴板 模拟键盘按钮Ctrl+V Alt+O
- easyui可编辑表格编辑器设置值
- day02
- matlab之在循环中修改循环变量
- php查询数据库的数据已存在
- 关于oracle的将字符串转换成多行
- C语言也有大学问——free()函数详解
- triplet loss layer原理
- 工具类之SpannableStringUtils(相信你会爱上它)
- 日志库EasyLogging++学习系列(3)—— 配置功能
- Android产品研发(十二)-->App长连接实现
- Redis事务与主从复制(笔记)
- day03
- vi(vim)的常用快捷键