Кто-нибудь может это объяснить? Теоретически оба являются одним и тем же запросом, но дают разные ответы.
a)
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».