有人可以解释一下吗?从理论上讲,两者都是相同的查询,但它们给出的答案不同。
一个)
declare @date varchar(10)
set date = '03/02/2013'
select count(*) from table1 where (from <= @date) and (@date <= to)
b)
declare @date varchar(10)
set date = '03/02/2013'
set @sqlstring = 'select count(*) from table1 where (from <= ' + @date + ') and (' + @date + ' <= to)'
exec sp_executeSql @sqlstring
结果第一组句子给出'2',这是正确答案,但在第二组句子中,我通过字符串动态执行相同的查询,但答案是'0'。