declare @sqqq as varchar(50) set @sqqq = '12,23,56,89,78,45,69,23' exec('select top 10 * from news where tid in (' + @sqqq + ') order by addate desc ')
declare @sqqq nvarchar(40) set @sqqq='12,23,56,89,78,45,69,23' exec ('select top 10 * from news where tid in ('+@sqqq+') ')
楼主:where语句中可以用in,只是你的sql文不规范。 可以改成: select top 10 * from news where tid in (12,23,56,89,78,45,69,23) order by addate desc 或者 declare @sqqq nvarchar(40) set @sqqq='12,23,56,89,78,45,69,23' exec ('select top 10 * from news where tid in ('+@sqqq+') order by addate desc ')
只能用动态sql,就是楼上的方法
declare @s as varchar(4000) set @s = '12,23,56,89,78,45,69,23' exec('select top 10 * from news where tid in (' + @sqqq + ') order by addate desc ')
declare @str nvarchar(100),@sqqq nvarchar(1000) set @str='' set @sqqq='12,23,56,89,78,45,69,23' select @str=@str + 'select top 10 * from news where tid in (' + @sqqq + ')' print @str
set @sqqq = '12,23,56,89,78,45,69,23'
exec('select top 10 * from news where tid in (' + @sqqq + ') order by addate desc ')
declare @sqqq nvarchar(40)
set @sqqq='12,23,56,89,78,45,69,23'
exec ('select top 10 * from news where tid in ('+@sqqq+') ')
楼主:where语句中可以用in,只是你的sql文不规范。
可以改成:
select top 10 * from news where tid in (12,23,56,89,78,45,69,23) order by addate desc
或者
declare @sqqq nvarchar(40)
set @sqqq='12,23,56,89,78,45,69,23'
exec ('select top 10 * from news where tid in ('+@sqqq+') order by addate desc ')
declare @s as varchar(4000)
set @s = '12,23,56,89,78,45,69,23'
exec('select top 10 * from news where tid in (' + @sqqq + ') order by addate desc ')
declare @str nvarchar(100),@sqqq nvarchar(1000)
set @str=''
set @sqqq='12,23,56,89,78,45,69,23'
select @str=@str + 'select top 10 * from news where tid in (' + @sqqq + ')'
print @str