SQL查询显示过去60行以上的行

时间:2014-01-09 14:28:46

标签: php mysql sql

我的数据库中有一行,日期时间为

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天的所有行

3 个答案:

答案 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)

您可以使用DATEDIFF function

例如,

DATEDIFF(date1,date2)&lt; 60