try:
declare @str varchar(8000)
set @str='Select '
select @str=@str+','+[code] from TableA
set @str=right(@str,len(@str)-1) + ' from TableA '
Exec(@s)
declare @str varchar(8000)
set @str='Select '
select @str=@str+','+[code] from TableA
set @str=right(@str,len(@str)-1) + ' from TableA '
Exec(@s)
set @=''
select @=@+','+code from tablea
select right(@,len(@)-1)
declare @ varchar(8000) set @='' select @=@+','+code from tablea select right(@,len(@)-1)
insert TableA values('A01')
insert TableA values('A02')
insert TableA values('A03')
insert TableA values('A04')
insert TableA values('A05')
insert TableA values('A06')
insert TableA values('A07')declare @str varchar(8000)
set @str=''
select @str=@str+','+[code] from TableA
set @str='select ''' + right(@str,len(@str)-1) + ''''
Exec(@str)
---------------------------
A01,A02,A03,A04,A05,A06,A07
set @s=''
select @s=@s+code+',' from tablea
select left(@s,len(@s)-1)
set @str=''
select @str=@str+','+[code] from TableA
set @str=right(@str,len(@str)-1)
select @str
insert TableA values('A01')
insert TableA values('A02')
insert TableA values('A03')
insert TableA values('A04')
insert TableA values('A05')
insert TableA values('A06')
insert TableA values('A07')
declare @ varchar(8000)
set @=''
select @=@+','+code from tablea
select ''''+right(@,len(@)-1)+''''
'A01,A02,A03,A04,A05,A06,A07'(所影响的行数为 1 行)
不用变量!!
set @str=''
select @str=@str+','+[code] from TableA
set @str='select ''' + right(@str,len(@str)-1) + ''''
Exec(@str)
这应该是最少的了,应为这样效率也应该是最好的。
declare @ varchar(8000)set @=''select @=@+code+','from tablea select left(@,len(@)-1)
declare @ varchar(8000)select @=isNull(@,'')+code+','from tablea select left(@,len(@)-1)