-- 使用用户定义函数,配合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