create function fmerg(@d datetime) --创建函数
return varchar(8000) --定义返回类型
as
begin
declare @re varchar(8000) --定义变量
set @re='' --初始化变量
select @re=@re+','+cast(data as varchar) from 表1 where date=@d --把表1中字段date等于@d(传入的变量)的所有data记录联接起来,并在每条记录后加个逗号
set @re=right(@re,len(@re)-1) --去除最后一个多余的逗号
return(@re) --返回这个联接起来的值
end
go--调用自定义函数来实现查询
select date,dbo.fmert(date) from 表1 group by date --以date分组返回date和该date下所有data的连接值
return varchar(8000) --定义返回类型
as
begin
declare @re varchar(8000) --定义变量
set @re='' --初始化变量
select @re=@re+','+cast(data as varchar) from 表1 where date=@d --把表1中字段date等于@d(传入的变量)的所有data记录联接起来,并在每条记录后加个逗号
set @re=right(@re,len(@re)-1) --去除最后一个多余的逗号
return(@re) --返回这个联接起来的值
end
go--调用自定义函数来实现查询
select date,dbo.fmert(date) from 表1 group by date --以date分组返回date和该date下所有data的连接值
2003-1-1 a
2003-1-1 b
2003-1-1 c
2003-1-2 d
2003-1-2 e那么select date,dbo.fmert(date) from 表1 group by date
返回的值就是2003-1-1 a,b,c
2003-1-2 d,e
a,b,c,
d,e,set @re=right(@re,len(@re)-1)
得到的结果是
a,b,c
d,e