我在搜索日期时遇到了一些麻烦。
这是格式:
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'
但我永远不会得到任何结果:(
答案 0 :(得分:3)
Between需要在范围的最大值之前和之后的较低值,否则返回空结果集而没有任何错误。
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'
答案 1 :(得分: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。他们展示了很多不同的方法。