SQL查询问题

时间:2011-02-07 15:08:58

标签: tsql

我正在使用以下查询在指定日期之间列出这些记录。但是,它不起作用。另外,不要给我错误。刚出现空白屏幕。它有列名。 以下查询有什么问题吗?

SET DATEFORMAT dmy
select *from tamirarizakaydi where tarih between '31.01.2011 ' and ' 04.02.2011' 

提前感谢。

1 个答案:

答案 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'行中没有行可以匹配此条件的行,因为范围的结尾在开始之前按字母顺序排列范围。