从表中选择日期和今天的差异

时间:2015-09-27 11:18:07

标签: mysql sql

我想显示整个表格,其中与“日期”列的差异现在大于7。我试过了

SELECT * FROM mytable where  DATEDIFF(day, date, CURDATE())>=7

并没有奏效。有什么建议吗?

4 个答案:

答案 0 :(得分:0)

DATEDIFF函数有2个参数。试试这个:

 $sql = "SELECT * FROM mytable where  DATEDIFF(date, CURDATE())>=7"; 

答案 1 :(得分:0)

DateDiff()将2个参数作为输入:

  

DATEDIFF(表达式1,表达式2)

你可以试试这个:

$sql = "SELECT * 
       FROM mytable 
       WHERE DATEDIFF(date, NOW()) >= 7"

答案 2 :(得分:0)

您将三个参数传递给DATEDIFF,只需要两个参数。

改变这个:

$sql = "SELECT * FROM mytable where  DATEDIFF(day, date ,CURDATE())>=7"; 

到此:

$sql = "SELECT * FROM mytable where  DATEDIFF(date, CURDATE())>=7"; 

DATEDIFF()

  

返回expr1 - expr2表示为从一个日期到的天数值   另一个。 expr1和expr2是日期或日期和时间表达式。

答案 3 :(得分:0)

DATEDIFF是一个选项,但请看一下:

SELECT *
FROM   mytable
WHERE  date_column < (NOW() - INTERVAL 7 DAY)

您可以使用INTERVAL在MySQL中进行日期计算。在我看来,这更容易阅读,它也有效。 ;)

请注意,这实际上会从当前日期减去7天。因此,如果您想获得自当前之前的第7天(即当天晚上11:59)以来发生的所有事情,您将需要另一种方法(例如DATEDIFF)。如果您只想回去7天的时间(7 * 24小时),那么这将满足您的需求。