By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE XX (
X1 NVARCHAR(50) NULL,
X2 NVARCHAR(50) NULL,
X3 NVARCHAR(50) NULL,
X4 NVARCHAR(50) NULL,
X5 NVARCHAR(50) NULL);
INSERT INTO XX (X1,X2,X3,X4,X5) VALUES
(N'王明明',N'男','0985124793',N'新北市','X200-35-02,R205-10-65'),
(N'陳咚咚',N'男','0945137685',N'高雄市','X203-35-02'),
(N'李亮亮',N'女','0946825103',N'新竹市','X405-45-02,L210-11-07,R305-97-15'),
(N'吳花花',N'女','0978456285',N'台北市','X200-35-02'),
(N'沈芊芊',N'女','0956721854',N'基隆市','R205-10-69'),
(N'潘圈圈',N'女','0956123456',N'宜蘭市','');
SELECT *
FROM XX;
X1 | X2 | X3 | X4 | X5 |
---|---|---|---|---|
王明明 | 男 | 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 |
潘圈圈 | 女 | 0956123456 | 宜蘭市 |
SELECT D.X1,D.X2,D.X3,D.X4,
D.vals.value('(/TR/TD)[1]','VARCHAR(20)') AS NO1,
D.vals.value('(/TR/TD)[2]','VARCHAR(20)') AS NO2,
D.vals.value('(/TR/TD)[3]','VARCHAR(20)') AS NO3
FROM (
SELECT *,
CAST('<TR><TD>' + REPLACE(X5,'-', '</TD><TD>') + '</TD></TR>' AS xml) vals
FROM (
SELECT A.X1,A.X2,A.X3,A.X4,B.value AS X5
FROM XX AS A
CROSS APPLY STRING_SPLIT(A.X5, ',') AS B
) AS C) AS D
ORDER BY D.X1,NO1,NO2,NO3
X1 | X2 | X3 | X4 | NO1 | NO2 | NO3 |
---|---|---|---|---|---|---|
吳花花 | 女 | 0978456285 | 台北市 | X200 | 35 | 02 |
李亮亮 | 女 | 0946825103 | 新竹市 | L210 | 11 | 07 |
李亮亮 | 女 | 0946825103 | 新竹市 | R305 | 97 | 15 |
李亮亮 | 女 | 0946825103 | 新竹市 | X405 | 45 | 02 |
沈芊芊 | 女 | 0956721854 | 基隆市 | R205 | 10 | 69 |
潘圈圈 | 女 | 0956123456 | 宜蘭市 | null | null | |
王明明 | 男 | 0985124793 | 新北市 | R205 | 10 | 65 |
王明明 | 男 | 0985124793 | 新北市 | X200 | 35 | 02 |
陳咚咚 | 男 | 0945137685 | 高雄市 | X203 | 35 | 02 |