oracle将一个字段拆分成多个值 (regexp_substr函数)

Posted Debugs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle将一个字段拆分成多个值 (regexp_substr函数)相关的知识,希望对你有一定的参考价值。

select regexp_substr(p.attributename, \'[^,]+\',1,level) c1
from tablename p
connect by level <= length(p.attributename) - length(replace(p.attributename,\',\',\'\')) + 1

 

--创建记录表(包含数据记录)
CREATE TABLE old_employee AS SELECT * FROM employee;

create table yyb_serv
(
SERV_CODE VARCHAR2(1024),
CMD_LIST VARCHAR2(100)
)

insert into yyb_serv values(\'111\',\'1000,10001,10002\')
select * from yyb_serv

----将一张表结构及表数据 插入到新表中  (数据结构及表数据都会同步)
create table old_yyb_serv AS (select * from yyb_serv)   

----将拆分的数据插入到表
insert into yyb_serv(SERV_CODE,CMD_LIST)
select SERV_CODE, regexp_substr(p.CMD_LIST, \'[^,]+\',1,level) c1
from yyb_serv p
connect by level <= length(p.CMD_LIST) - length(replace(p.CMD_LIST,\',\',\'\')) + 1

 

以上是关于oracle将一个字段拆分成多个值 (regexp_substr函数)的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何将一个字段里的值拆分为多个值显示出来

Oracle通过一个字段的值将一条记录拆分为多条记录

oracle 以‘’分割的长字段拆分成多个(很多)字段

oracle 如何将一个字段内容拆分多行显示

oracle 字段比例拆分

oracle单行多列,拆分成多行