-- 使用用戶定義函數,配合SELECT處理完成字符串合並處理的示例
--處理的數據
CREATETABLE tb(col1 varchar(10),col2 int)
INSERT tb SELECT'a',1
UNIONALLSELECT'a',2
UNIONALLSELECT'b',1
UNIONALLSELECT'b',2
UNIONALLSELECT'b',3
GO
--合並處理函數
CREATEFUNCTION dbo.f_str(@col1varchar(10))
RETURNSvarchar(100)
AS
BEGIN
DECLARE@revarchar(100)
SET@re=''
SELECT@re=@re+','+CAST(col2 asvarchar)
FROM tb
WHERE col1=@col1
RETURN(STUFF(@re,1,1,''))
END
GO
--調用函數
SELECT col1,col2=dbo.f_str(col1) FROM tb GROUPBY col1
--刪除測試
DROPTABLE tb
DROPFUNCTION f_str