溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 批量列轉行 逗號分隔

發(fā)布時間:2020-07-08 22:48:54 來源:網絡 閱讀:1762 作者:mathed001 欄目:關系型數(shù)據(jù)庫

示例:

with temp as
(select '1,2,3' nums, 'a' names from dual
	union all
	select '4,5' nums, 'b' names from dual
	union all
	select '6,7' nums, 'c' names from dual
	union all
	select '8' nums, 'c' names from dual
	union all
	select '9,10' nums, 'c' names from dual
	union all
	select '11,12' nums, 'c' names from dual
	union all
	select '13,14' nums, 'c' names from dual
	union all
	select '15,16' nums, 'c' names from dual
	union all
	select '17,18' nums, 'c' names from dual
	union all
	select '19,20' nums, 'c' names from dual
	union all
	select '21,22,23,24,25,26,27,28,29,30,31,32,33,34' nums, 'c' names from dual
)
select regexp_substr(nums,'[^,]+',1,b.lv) order_num,names
from temp, (select level lv from dual connect by level<=(select max(length(regexp_replace(nums,'[^,]+'))+1) from temp)) b	--用于分配行數(shù)(行數(shù)取最大的nums分隔數(shù))
where b.lv <=length(regexp_replace(nums,'[^,]+'))+1 order by order_num


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI