我的数据库中有一行,日期时间为
2013-11-07 13:04:57
然后我正在运行此查询:
SELECT * from customer_communication
WHERE customer_seq = '276'
and datetime < DATE_SUB(DATE(now()), INTERVAL 60 DAY)
order by datetime DESC
所以它不应该返回此行
我希望显示过去日期超过60天的所有行
答案 0 :(得分:0)
过去日期2013-11-07 13:04:57
超过60天:
SELECT DATE_SUB(DATE(NOW()), INTERVAL 60 DAY);
=> 2013-11-10
将于11月10日或之前显示任何日期(从1月9日起)
# Show difference in days.
SELECT DATEDIFF(DATE(NOW()),'2013-11-07');
=> 63
此外,如果您希望显示日期设置为当天60天之前的行,则应使用<=
比较器。
答案 1 :(得分:0)
问题是您当前的查询将选择超过一个datetime
值的行。您需要将比较符号更改为:
datetime > DATE_SUB(DATE(now()), INTERVAL 60 DAY)
和日期2013-11-07 13:04:57过去60多天。
答案 2 :(得分:0)