create function f_name(@id int,name varchar(100)
returns varchar(8000) --如果数据大,可以改成大一点的长度
as
begin
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+Data from tConfig where iType=@id and sUsers=@name
return(@sql)
end
go
执行:
selecdt distinct iType,sUsers,dbo.f_name(iType,sUsers) as [Date] from tConfig
create function f_name(@id int,name varchar(100)
returns varchar(1000)
as
begin
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+Data from tConfig where iType=@id and sUsers=@name
return(@sql)
end
go
执行:
selecdt distinct iType,sUsers,dbo.f_name(iType,sUsers) as [Date] from tConfig
create function getstr(@content smallint)
returns narchar(4000)
as
begin
declare @str nvarchar(4000)
set @str=''
select @str=@str+N','+rtrim(Data) from tConfig where iType = @content
select @str=right(@str,len(@str)-1)
return @str
end
go
--调用:
select iType,sUsers,dbo.getstr(iType) as Data from tConfig group by iType,sUsers
--用函数
create function test(@id int)
returns nvarchar(8000)
as
begin
declare @sql nvarchar(8000)
set @sql=''
select @sql=@sql+N','data from tConfig where itype=@id
select @sql=right(@sql,len(@sql)-1) where @str<>''
return(@sql)
end
--执行
select distinct itype,susers,dbo.test(itype) as asdf from tConfig
--用函数
create function test(@id int)
returns varchar(8000)
as
begin
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+data from tConfig where itype=@id
return(@sql)
end
--执行
select distinct itype,susers,dbo.test(itype) as asdf from tConfig
create function getstr(@content smallint)
returns narchar(4000)
as
begin
declare @str nvarchar(4000)
set @str=''
select @str=@str+N','+rtrim(Data) from tConfig where iType@content
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go
--调用:
select iType,dbo.getstr(iType) as Data from tConfig group by iType,sUsers
1,建自定义函数
Create function getstr(@id Nchar(100))
returns Nvarchar(4000)
as
begin
declare @str Nvarchar(4000),@分隔符 Nvarchar(10)
set @分隔符=N','
set @str=N''
select @str=@str+rtrim(Col)+@分隔符 from 表名
--------------------------------^^^^要相加的字段名
where 相加条件字段=@id
set @str=left(@str,len(@str)-1)落 ---却除最后一个分隔符
return @str
end
GO
2,调用
select 条件字段,dbo.getstr(条件字段) from 表名 group by 条件字段
create function getstr(@content int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+rtrim(Data) from tConfig where iType@content
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go
--调用:
select iType,dbo.getstr(iType) as Data from tConfig group by iType,sUsers