SQL使用apply进行拆分列值

--SQL2005以上版本可以结合apply进行拆分列值
IF OBJECT_ID('tb') IS NOT NULL
    DROP TABLE tb
GO
CREATE TABLE tb (id INT,col VARCHAR(30))
INSERT INTO tb VALUES(1,'aa,bb')
INSERT INTO tb VALUES(2,'aaa,bbb,ccc')
GO
 
SELECT id,b.col FROM tb CROSS APPLY f_getstr(col,',') b
SELECT id,b.col FROM tb OUTER APPLY f_getstr(col,',') b
/*
id          col
----------- -----------
1           aa
1           bb
2           aaa
2           bbb
2           ccc
 
(5 行受影响)
*/

你可能感兴趣的:(sql,apply,apply,sql2005,拆分列值,拆分列值)