oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

oracle 字符串转成行

来源:网络整理  作者:网络  发布时间:2020-12-12 21:03
oracle 将以逗号隔开的字符串...
FROM DIM_AUDIT_TABLE@sjmh_inter;
t.COMMENT_NL_TIME,
A.T_COLUMN_COMM,
WHERE T.cnt >= c.lv
NVL(LENGTH(REPLACE(RPT_ID, ',')), 0)) INTO v_c
T.T_COLUMN,
A.T_NAME_COMM,
INSTR (T.RPT_ID,',',1,C.LV + 1)- (INSTR (T.RPT_ID,',',1,C.LV)+ 1))
FROM DIM_AUDIT_TABLE@sjmh_inter A
t.COMMENT_NL,
FROM (SELECT A.T_NAME,
AS RPT_ID
说明:CNT表示串里面有多少字符。
A.T_COLUMN,
a.COMMENT_NL,
T.T_COLUMN_COMM,
SELECT MAX(LENGTH(RPT_ID || ',') -
INSTR(T.RPT_ID, '','', 1, C.LV + 1) -
SUBSTR(T.RPT_ID,
FROM DUAL) t,
LENGTH(A.RPT_ID || '','') -
LENGTH ('85,86,87' || ',') - NVL (LENGTH (REPLACE ('85,86', ',')), 0) CNT
CONNECT BY LEVEL <= LENGTH('85,86,87' || ',') - NVL(LENGTH(REPLACE('85,86,87', ',')), 0)) c
当是字符串是表中的字段时,取level<=最大个数
FROM DUAL
T.T_NAME_COMM,
INSTR (T.RPT_ID,',',1,C.LV)+ 1,
SELECT T.T_NAME,
'','' || A.RPT_ID || '','' RPT_ID,
FROM (SELECT ',' || '85,86,87' || ',' RPT_ID,
NVL(LENGTH(REPLACE(A.RPT_ID, '','')), 0) CNT
t.SEQ_USER_ID,
(SELECT LEVEL lv
WHERE C.LV <= T.CNT;

注:如果是上面代码是远程的代码,(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= '||v_c||') C,不要用dual表,可以改用all_objects或user_objects, 要不然能查询,但是把查询出来的SQL插入到某个表时,只能插入一行

(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= '||v_c||') C
(INSTR(T.RPT_ID, '','', 1, C.LV) + 1)) AS RPT_ID
SELECT SUBSTR (T.RPT_ID,
a.COMMENT_NL_TIME,
WHERE a.COMMENT_NL is not null) T,
2).l转成行
a.SEQ_USER_ID,
如:
1).取最大个数
INSTR(T.RPT_ID, '','', 1, C.LV) + 1,

相关热词: oracle

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/oracle/3063.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

oracle 字符串转成行

2020-12-12 编辑:网络

FROM DIM_AUDIT_TABLE@sjmh_inter;
t.COMMENT_NL_TIME,
A.T_COLUMN_COMM,
WHERE T.cnt >= c.lv
NVL(LENGTH(REPLACE(RPT_ID, ',')), 0)) INTO v_c
T.T_COLUMN,
A.T_NAME_COMM,
INSTR (T.RPT_ID,',',1,C.LV + 1)- (INSTR (T.RPT_ID,',',1,C.LV)+ 1))
FROM DIM_AUDIT_TABLE@sjmh_inter A
t.COMMENT_NL,
FROM (SELECT A.T_NAME,
AS RPT_ID
说明:CNT表示串里面有多少字符。
A.T_COLUMN,
a.COMMENT_NL,
T.T_COLUMN_COMM,
SELECT MAX(LENGTH(RPT_ID || ',') -
INSTR(T.RPT_ID, '','', 1, C.LV + 1) -
SUBSTR(T.RPT_ID,
FROM DUAL) t,
LENGTH(A.RPT_ID || '','') -
LENGTH ('85,86,87' || ',') - NVL (LENGTH (REPLACE ('85,86', ',')), 0) CNT
CONNECT BY LEVEL <= LENGTH('85,86,87' || ',') - NVL(LENGTH(REPLACE('85,86,87', ',')), 0)) c
当是字符串是表中的字段时,取level<=最大个数
FROM DUAL
T.T_NAME_COMM,
INSTR (T.RPT_ID,',',1,C.LV)+ 1,
SELECT T.T_NAME,
'','' || A.RPT_ID || '','' RPT_ID,
FROM (SELECT ',' || '85,86,87' || ',' RPT_ID,
NVL(LENGTH(REPLACE(A.RPT_ID, '','')), 0) CNT
t.SEQ_USER_ID,
(SELECT LEVEL lv
WHERE C.LV <= T.CNT;

注:如果是上面代码是远程的代码,(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= '||v_c||') C,不要用dual表,可以改用all_objects或user_objects, 要不然能查询,但是把查询出来的SQL插入到某个表时,只能插入一行

(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= '||v_c||') C
(INSTR(T.RPT_ID, '','', 1, C.LV) + 1)) AS RPT_ID
SELECT SUBSTR (T.RPT_ID,
a.COMMENT_NL_TIME,
WHERE a.COMMENT_NL is not null) T,
2).l转成行
a.SEQ_USER_ID,
如:
1).取最大个数
INSTR(T.RPT_ID, '','', 1, C.LV) + 1,

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/oracle/3063.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页