最初由 parktom 发布
[B]declare @ls_t1 varchar(50)
set @ls_t1 = 'A'
执行select * from #t1 where a in (@ls_t1) 返回正确的结果
如果执行
set @ls_t1 = "'A','B'"
执行select * from #t1 where a in (@ls_t1) 返回错误的结果
最初由 parktom 发布
[B]declare @ls_t1 varchar(50)
set @ls_t1 = 'A'
执行select * from #t1 where a in (@ls_t1) 返回正确的结果
如果执行
set @ls_t1 = "'A','B'"
执行select * from #t1 where a in (@ls_t1) 返回错误的结果
我想用变量来作为表名使用,但是我只能通过动态sql实现,有没有其他办法
declare @sql varchar(30)
set @sql='sysobjects'
set @sql='select * from '+@sql
exec (@sql)
我感觉应该是可以通过将@sql声明为其他数据类型来实现。