ORACLE 分割欄位為多行資料

2021-08-10 05:24:11 字數 949 閱讀 1254

轉換前:

轉換後:

轉換sql:

with t as

(select '長港路五巷' 位址,'1號' 門牌號,'建苑大廈' 小區,'馬武爽' 戶主,'121231' 戶主身份證號, '張三123 李四3323 王五1212' 人員資訊 from dual

union all

select '長港路六巷' 位址,'2號' 門牌號,'長龍苑' 小區, '張大奎' 戶主,'12121' 戶主身份證號, '馬武123 劉貴撒3323 順豐1212' 人員資訊 from dual

) select 位址,門牌號,小區,人數,'非' 關係,substr(人員資訊,0,instr(translate(人員資訊,'0123456789','0000000000'),'0')-1) 姓名,

substr(人員資訊,instr(translate(人員資訊,'0123456789','0000000000'),'0')) 身份證號

from

(select distinct   位址,門牌號,小區,level+1 人數,level,regexp_substr(人員資訊,'[^ ]+',1,level) 人員資訊

from t

connect by level<=length(人員資訊)-length(replace(人員資訊,' ',''))+1

order by 位址,門牌號,小區,level) 

union all

select 位址,門牌號,小區,1 人數,'戶主' 關係,戶主 姓名,戶主身份證號 身份證號 from t

order by 位址,門牌號,小區,人數

Oracle多行資料合併

1.多個未知數值合併 selectoperate id,max substr phone id,2 phone id from select operate id,sys connect by path phone id,phone id from select operate id,phone i...

Oracle多行資料顯示為一行

最近在做一新專案涉及到複雜的查詢,其中就包括需要將多行資料轉化為一行顯示,在網上google了一把然後自己改了一點就可以用了,記錄下來以為後用.第一步 新建types型別 create or replace type combstrtype as object currentstr varchar2...

Oracle 字段值按逗號拆分,變為多行資料

問題原因 由於資料庫中某個字段含有大量資料由逗號開 且多列,逗號個數不固定 解決辦法 select distinct from select regexp substr q.nums,1,level,i order num,names from select 1,2,3 nums,張三 names ...