我有一个表格数据
col1 col2 col3 col4
11 12 xx yy 20
22 13 qq aa 21
我的TDD使用TSQL作为
col1 col2 col3 col4
11 12 xx 20
11 12 yy 20
22 13 qq 21
22 13 aa 21
基本上,col3具有空格值,需要为空格值分隔的每个值创建行。
感谢 prav
答案 0 :(得分:2)
看看这样的事情
DECLARE @Table TABLE(
col1 INT,
col2 INT,
col3 VARCHAR(50),
col4 INT
)
INSERT INTO @Table SELECT 11,12,'xx yy',20
INSERT INTO @Table SELECT 22,13,'qq aa',21
;WITH Vals AS (
SELECT *,
CAST('<d>' + REPLACE(col3, ' ', '</d><d>') + '</d>' AS XML) XMLCol
FROM @Table
)
SELECT Vals.*,
T.split.value('.', 'VARCHAR(MAX)') SplitValue
FROM Vals
CROSS APPLY
XMLCol.nodes('/d') T(split)