Select Regexp_substr (P.attributename, ' [^,]+ ', 1,level) C1
From TableName P
Connect by Level <= Length (p.attributename)-Length (replace (P.attributename, ', ', ')) + 1
--Create a record table (containing data records)
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
----Insert a table structure and table data into a new table (data structure and table data will be synchronized)
CREATE TABLE Old_yyb_serv as (SELECT * from Yyb_serv)
----inserting split data into a table
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 splits a field into multiple values (Regexp_substr function)