declare @ss varchar(8000) select @ss=isnull(@ss,'')+cast(列名 as varchar)+',' from 表 print @ss
2楼的isnull在这里用的不错.学习declare @s varchar(8000) select @s=isnull(@s,'') + rtrim(id) +',' from 表
declare @ss varchar(8000) select @ss=isnull(@ss,'') + rtrim(SigleSelectId) +',' from ( select top 5 SigleSelectId from SigleSelectSubject order by newid()) print @ss 我这条语句哪里错了???select top 5 SigleSelectId from SigleSelectSubject order by newid()是对的,楼上的做的也对
加个别名A 在后面(select top 5 SigleSelectId from SigleSelectSubjectorder by newid())
再问个问题,如果得到“1,3,4,6,”,能用sql语句还原回去吗? id 1 3 4 6 得到这样的表???
--如: declare @sql varchar(8000), @s varchar(8000) select @s='1,3,4,6,' Select @s='Select '+stuff(@s,len(@s),1,''),@sql=replace(@s,',',' union all Select ') exec(@sql)
select @ss=isnull(@ss,'')+cast(列名 as varchar)+',' from 表
print @ss
select @s=isnull(@s,'') + rtrim(id) +',' from 表
select @ss=isnull(@ss,'') + rtrim(SigleSelectId) +',' from (
select top 5 SigleSelectId from SigleSelectSubject
order by newid())
print @ss
我这条语句哪里错了???select top 5 SigleSelectId from SigleSelectSubject
order by newid()是对的,楼上的做的也对
id
1
3
4
6
得到这样的表???
declare @sql varchar(8000),
@s varchar(8000)
select @s='1,3,4,6,'
Select @s='Select '+stuff(@s,len(@s),1,''),@sql=replace(@s,',',' union all Select ')
exec(@sql)