22,210
社区成员
发帖
与我相关
我的任务
分享
DECLARE @zd VARCHAR(MAX),@tm VARCHAR(MAX),@r VARCHAR(MAX)
SET @zd='ID,Names,banner,age'
while CHARINDEX(',',@zd)>0
begin
set @tm=SUBSTRING(@zd,1,CHARINDEX(',',@zd)-1)
set @tm='min('+@tm+') '+@tm+''
set @r=ISNULL(@r+',','')+@tm
print @r
set @zd=STUFF(@zd,1,CHARINDEX(',',@zd),'')
end
set @zd='min('+@zd+') '+@zd+''
select @r+','+@zd
-----------------
(无列名)
min(ID) ID,min(Names) Names,min(banner) banner,min(age) age
create function f_str(@str varchar(1000))
returns varchar(1000)
as
begin
declare @s1 varchar(1000)
declare @s2 varchar(1000)
declare @id int
set @s1 = @str + ','
set @id = charindex(',',@s1)
set @s2 = ''
while(len(@s1)>0)
begin
set @s2 = @s2 + 'min('+substring(@s1,1,@id-1)+') '+substring(@s1,1,@id-1)+','
set @s1 = substring(@s1,@id+1,len(@s1))
set @id = charindex(',',@s1)
end
set @s2 = stuff(@s2,len(@s2),1,'')
return @s2
end
go
select dbo.f_str('id,ic,ar,aga')lie
drop function f_str
lie
------------------------------------------------------
min(id) id,min(ic) ic,min(ar) ar,min(aga) aga
(1 行受影响)
create function f_str(@str varchar(1000))
returns varchar(1000)
as
begin
declare @s1 varchar(1000)
declare @s2 varchar(1000)
declare @id int
set @s1 = @str + ','
set @id = charindex(',',@s1)
set @s2 = ''
while(len(@s1)>0)
begin
set @s2 = @s2 + 'min('+substring(@s1,1,@id-1)+')'+','
set @s1 = substring(@s1,@id+1,len(@s1))
set @id = charindex(',',@s1)
end
set @s2 = stuff(@s2,len(@s2),1,'')
return @s2
end
go
select dbo.f_str('id,ic,ar,aga')lie
drop function f_str
lie
--------------------------------------------
min(id),min(ic),min(ar),min(aga)
DECLARE @zd VARCHAR(MAX)
SET @zd=','+'ID,Names,banner,age'+','
SET @zd=REPLACE(@zd,',ID,',',MIN(ID),')
..............
..............