首页 > 代码库 > 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
t
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
oracle一列中的数据有多个手机号码用逗号隔开,我如何分别取出来?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。