应用一:
end
- --use lyds#db
- --select id,count(test) from t_test group by id --这是分组的效果
- --数据表
- id(int) test(nvarchar(50))
- 1 aaa
- 2 bbb
- 1 ccc
- 2 ddd
- --创建自定义函数
- CREATE FUNCTION dbo.f_str(@id int)
- RETURNS varchar(8000)
- AS
- BEGIN
- DECLARE @r varchar(8000)
- SET @r = ''
- SELECT @r = @r + ',' + test
- FROM t_test
- WHERE id=@id
- RETURN STUFF(@r, 1, 1, '') --去掉首部的逗号
- END
- --调用自定义函数
- SELECT id, test=dbo.f_str(id)
- FROM t_test
- GROUP BY id
- --输出内容
- id test
- 1 aaa,ccc
- 2 bbb,ddd
- 第一个自定义函数:
- CREATE FUNCTION dbo.f_first
- (
- @id int,
- @name nvarchar(20)
- )
- RETURNS varchar(8000)
- AS
- BEGIN
- DECLARE @r varchar(8000)
- set @r = @name + @id --这里的+默认是把字符型转化为数字
- RETURN @r
- END
- 用法:
- SELECT dbo.f_first(2,'2') as returnStr