create function getstr1(@content char(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(m1m) from TEST where hao=@content
set @str=right(@str,len(@str)-1)
return @str
end
gocreate function getstr2(@content char(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(m2m) from TEST where hao=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select hao,dbo.getstr1(hao) as m1m,dbo.getstr2(hao) as m2m,sum(money) as total_money from TEST group by hao
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(m1m) from TEST where hao=@content
set @str=right(@str,len(@str)-1)
return @str
end
gocreate function getstr2(@content char(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(m2m) from TEST where hao=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select hao,dbo.getstr1(hao) as m1m,dbo.getstr2(hao) as m2m,sum(money) as total_money from TEST group by hao
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+rtrim(m1m) from TEST where hao=@content
return @str
end
gocreate function getstr2(@content varchar(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+rtrim(m2m) from TEST where hao=@content
return @str
end
go语句:
select hao,dbo.getstr1(hao) as m1m,dbo.getstr2(hao) as m2m,sum(money) as total_money from TEST group by hao
--写一个自定义函数,实现字符串的合并:
create function fmerg(@fd varchar(100),@isfirst bit)
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
if @isfirst=0
select @re=@re+m1m from test where hao=@fd
else
select @re=@re+m2m from test where hao=@fd
return(@re)
end
go
2.
--调用这个自定义函数实现你的要求
select hao,dbo.fmerg(hao,0) as m1m,fmerg(hao,1) as m2m,[money]
from
(select hao,sum(money) as [money] from test group by hao) a
returns Nvarchar(2000)
as
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+rtrim(m1m) from 表
where hao=@id
return @str
end
GOcreate function getstr1(@id Nchar(10))
returns Nvarchar(2000)
as
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+rtrim(m2m) from 表
where hao=@id
return @str
end
GO--------------------
select hao,dbo.getstr1(hao) m1m,dbo.getstr2(hao) m2m,sum(money) total
from 表
group by hao
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+rtrim(m1m) from table1 where hao=@hao
return @str
end
gocreate function getstr2(@hao int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+rtrim(m2m) from table1 where hao=@hao
return @str
end
go
select hao,dbo.getstr1(m1m),dbo.getstr2(m2m),sum(total_money) from table1
那个m1m和m2m字段是Text类型的,怎么办?报错说不能用rtrim函数!