我正在使用以下查询在指定日期之间列出这些记录。但是,它不起作用。另外,不要给我错误。刚出现空白屏幕。它有列名。 以下查询有什么问题吗?
SET DATEFORMAT dmy
select *from tamirarizakaydi where tarih between '31.01.2011 ' and ' 04.02.2011'
提前感谢。
答案 0 :(得分:2)
就我所见,前导和尾随空格没有任何区别。
SET DATEFORMAT dmy
select CAST('31.01.2011 ' as date) , CAST(' 04.02.2011' as date), CAST('31.01.2011 ' as datetime), CAST(' 04.02.2011' as datetime)
返回
---------- ---------- ----------------------- -----------------------
2011-01-31 2011-02-04 2011-01-31 00:00:00.000 2011-02-04 00:00:00.000
我猜测tarih
存储为字符串,或者您没有任何匹配的行。
如果tarih
是基于字符的列,那么您的查询将进行字典比较并查找tarih >= '31.01.2011 ' and 'tarih <= ' 04.02.2011'
行中没有行可以匹配此条件的行,因为范围的结尾在开始之前按字母顺序排列范围。