create Function test() Returns varchar(8000) As begin declare @str varchar(8000) set @str=''declare @id int set @id = 0 while @id <= IsNull((select max(dccx) from 表A),0) begin Set @id = @id + 1 select @str=@str+ pj from 表A where dccx=@id End Return(@str) end-- 调用函数得到结果 Select distinct dbo.test() from 表A
declare @ varchar(8000) set @=''select @=@+pj from 表a order by dccxselect @ 结果
谢谢大家 原来是我在临时表里定义把pj定义成了char型
char的话:declare @ varchar(8000) set @=''select @=@+rtrim(pj) from 表a order by dccxselect @ 结果
Returns varchar(8000)
As
begin
declare @str varchar(8000)
set @str=''declare @id int
set @id = 0
while @id <= IsNull((select max(dccx) from 表A),0)
begin
Set @id = @id + 1
select @str=@str+ pj from 表A where dccx=@id
End
Return(@str)
end-- 调用函数得到结果
Select distinct dbo.test() from 表A
set @=''select @=@+pj from 表a order by dccxselect @ 结果
原来是我在临时表里定义把pj定义成了char型
set @=''select @=@+rtrim(pj) from 表a order by dccxselect @ 结果