oracle 按符號分隔字串 多行展示

2021-09-02 17:24:33 字數 657 閱讀 1616

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 通過引入的管道化表函式糾正了後一種情況 表函式是返回整個行的集 通常作為乙...