select t.dept,
t.father_type,
t.child_type,
regexp_substr(t.child_type, '[^,]+', 1, l) as c,
lfrom rc_dcz_type t, (select level l from dual connect by level <= 20)
where l(+) <=
(length(t.child_type) - length(replace(t.child_type, ',')) + 1)
order by t.dept, t.father_type, l
select level l from dual connect by level <= 20 level必須和connect by一起使用
產生1到20的序列數,存放到乙個資料集中,做連線使用
l(+) <= (length(t.child_type) - length(replace(t.child_type, ',')) + 1)
不等式右邊是計算有多少個逗號,加1計算字段數量
結果圖
ORACLE 字串按分隔符分割成多列
參考很多博文,發現都沒有想要的,無奈之下,自己動手,豐衣足食,廢話不多說,一下是需求 資料 小明 小白 小張 小陳 目標 列數根據字串動態生成 構建plsql函式 create or replace function f new rowit in text varchar2,要擷取的字串 fh va...
字串按分隔符號段範圍查詢
生成測試資料表 tb if not object id tb is null drop table tb gocreate table tb col nvarchar 21 insert tb select n 餐飲集團 華東區管理處 廚房 營銷部 union all select n 餐飲集團 u...
Oracle 根據分隔符分隔字串
為了讓pl sql 函式返回資料的多個行 必須通過返回乙個 ref cursor 或乙個資料集合來完成 ref cursor 的這種情況侷限於可以從查詢中選擇的資料 而整個集合在可以返回前 必須進行具體化 oracle 9i 通過引入的管道化表函式糾正了後一種情況 表函式是返回整個行的集 通常作為乙...