程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle一列中的數據有多個手機號碼用逗號隔開,我如何分別取出來?,oracle一列

oracle一列中的數據有多個手機號碼用逗號隔開,我如何分別取出來?,oracle一列

編輯:Oracle教程

oracle一列中的數據有多個手機號碼用逗號隔開,我如何分別取出來?,oracle一列


ID      NUMBER
1 137xxxx,138xxxx
取出來成
ID NUMBER
1 137xxxx
1 138xxxx

create table test (id int, phone varchar2(200)); insert into test values (1,'13811111111,13311111111,13900000000');
insert into test values (2,'15811111111,15911111111,18800000000');


select id,c from (with as (select id,phone c from test) select id,substr(t.ca,instr(t.ca, ',', 1, c.lv) + 1,instr(t.ca, ',', 1, c.lv + 1) - (instr(t.ca, ',', 1, c.lv) + 1)) AS c from (select id,',' || c || ',' AS ca,length(c || ',') - nvl(length(REPLACE(c, ',')),0) AS cnt FROM t) t, (select LEVEL lv from dual CONNECT BY LEVEL <= 100) c where c.lv <= t.cnt)  order by id  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved