2011-04-20 50 views
1

我在搜索日期时遇到了一些麻烦。在MYSQL中简单搜索数据

这里的格式:

2006-03-25 23:27:12 

如果我在寻找我试图用这样的:

select * from aol where QueryTime BETWEEN '2006-03-19 00:00:00' and '2006-03-18 00:00:00' 

,但我从来没有得到任何结果:(

回答

3

之间要求较低值的范围的最大值之前和之后,否则返回空结果集而没有任何错误。

select * from aol where QueryTime BETWEEN '2006-03-18 00:00:00' and '2006-03-19 00:00:00' 

是一样的书写

select * from aol where QueryTime >= '2006-03-18 00:00:00' and QueryTime <= '2006-03-19 00:00:00' 
+0

+1,这就是它。 – Unreason 2011-04-20 12:46:55

0

你可以看看两个日期之间的区别:

SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30'); 

或者这可以正常工作。

SELECT something FROM tbl_name 
-> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; 

这两个例子都来自this page。他们展示了很多不同的方式,你可以做到这一点。