查询一系列日期

时间:2010-04-28 02:16:55

标签: sql

我试图查询一种从 - 到目前为止。 例如20-01-2010至20-02-2010。这应该包括提到的日期。

我尝试了以下查询但没有效果。

select * 
  from [tableName] 
 where date >= '20-01-2010' 
   AND date <= '20-02-2010'

但日期等于20-02-2010的日期未显示。我不知道为什么。


select * 
  from [tableName] 
 where date between '20-01-2010' 
            AND '20-02-2010' 

结果中未包含上述日期。我希望它被包含在结果中。

请帮忙。

提前谢谢! :)

3 个答案:

答案 0 :(得分:1)

请确保您的表中没有日期时间值,时间值不是0 。在这种情况下,与您提供的上限日期相比,没有一个会更少或相等。

答案 1 :(得分:0)

SELECT date
FROM  `test_table` 
WHERE date >=  '2010-04-01'
AND date <=  '2010-04-30';

实际上在mysql中工作。请注意,DATE type字段的标准结构为YYYY-MM-DD

答案 2 :(得分:0)

感谢所有回复。 我解决了这个问题。

下面的查询不起作用的原因是因为日期字段的值是hh:mm:ss,因为它是datetime。如果你比较普通日期,时间部分将为0.这就是为什么数据w / date '20 -02-2010'没有显示在我的结果集中,因为数据有hh:mm:ss不等于'00 :00:00.000'

SELECT * FROM[tableName] WHERE date >= '20-01-2010' AND date <= '20-02-2010' 

下面的查询现在有效。刚刚添加了时间参数

SELECT* FROM [tableName] WHERE date >= '20-01-2010' AND date <= '20-02-2010 23:59:59.000' 

欢呼声