我想显示整个表格,其中与“日期”列的差异现在大于7。我试过了
SELECT * FROM mytable where DATEDIFF(day, date, CURDATE())>=7
并没有奏效。有什么建议吗?
答案 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";
返回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小时),那么这将满足您的需求。