By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table it020405 (
iname varchar(10)
, isex char(1)
, itel varchar(10)
, iaddr varchar(10)
, ino varchar(50)
);
insert into it020405 values
('王明明','男','0985124793','新北市','X200-35-02,R205-10-65'),
('陳咚咚','男','0945137685','高雄市','X203-35-02'),
('李亮亮','女','0946825103','新竹市','X405-45-02,L210-11-07,R305-97-15'),
('吳花花','女','0978456285','台北市','X200-35-02'),
('沈芊芊','女','0956721854','基隆市','R205-10-69');
select *
from it020405;
iname | isex | itel | iaddr | ino |
---|---|---|---|---|
王明明 | 男 | 0985124793 | 新北市 | X200-35-02,R205-10-65 |
陳咚咚 | 男 | 0945137685 | 高雄市 | X203-35-02 |
李亮亮 | 女 | 0946825103 | 新竹市 | X405-45-02,L210-11-07,R305-97-15 |
吳花花 | 女 | 0978456285 | 台北市 | X200-35-02 |
沈芊芊 | 女 | 0956721854 | 基隆市 | R205-10-69 |
select iname, isex, itel, iaddr
, substring_index(sno, '-', 1) as ino1
, substring_index(substring_index(sno,'-',-2),'-',1) as ino2
, substring_index(substring_index(sno,'-',-1),'-',1) as ino3
from (select i.iname, isex, itel, iaddr
, x.sno
from it020405 i
join json_table(
replace(json_array(i.ino), ',', '","')
, '$[*]' columns (sno varchar(10) path '$')
) x
) y;
iname | isex | itel | iaddr | ino1 | ino2 | ino3 |
---|---|---|---|---|---|---|
王明明 | 男 | 0985124793 | 新北市 | X200 | 35 | 02 |
王明明 | 男 | 0985124793 | 新北市 | R205 | 10 | 65 |
陳咚咚 | 男 | 0945137685 | 高雄市 | X203 | 35 | 02 |
李亮亮 | 女 | 0946825103 | 新竹市 | X405 | 45 | 02 |
李亮亮 | 女 | 0946825103 | 新竹市 | L210 | 11 | 07 |
李亮亮 | 女 | 0946825103 | 新竹市 | R305 | 97 | 15 |
吳花花 | 女 | 0978456285 | 台北市 | X200 | 35 | 02 |
沈芊芊 | 女 | 0956721854 | 基隆市 | R205 | 10 | 69 |