1、使用select变量递归
declare @eventdates varchar(1024)
set @eventdates=''
select @eventdates=@eventdates+convert(varchar(15),a.d,107)+';'
from (select top 2 date as d from dbo.area ) as a
select left (@eventdates,len(@eventdates)-1)
2、使用游标
declare
@eventdates varchar(1024),
@eventdate datetime,
@semi bit
set @semi =0
set @eventdates=''
declare cevent cursor fast_forward
for select top 2 date from dbo.area
open cevent
fetch cevent into @eventdate --这里可以有多个变量
while @@Fetch_Status=0
begin
if @semi=1
set @eventdates =@eventdates+';' +convert(varchar(15),@eventdate,107)
else
begin
set @eventdates =convert(varchar(15),@eventdate,107)
set @semi =1
end
fetch cevent into @eventdate
end
close cevent
deallocate cevent
select @eventdates