MySQL WHERE 日期 > 15 天

标签 mysql

我有三张 table 。顾客、DVD、电影。这是我需要制作的最后一份报告,它让我很困惑。我目前有一个字段:dvd.Due_Date,这是产品到期的日期。我需要检索截止日期比当前日期晚 15 天的所有文件。

这是我到目前为止所拥有的:

    SELECT customer.customer_id,
 customer.customer_fname,
 customer.customer_lname,
 customer.customer_phone,
 customer.customer_email,
 dvd.DVD_ID, movie.Movie_Title,
 dvd.Rental_Date, dvd.Due_Date
 FROM customer INNER JOIN dvd
 ON customer.customer_id = dvd.customer_id 
INNER JOIN movie ON dvd.Movie_ID = movie.Movie_ID
 WHERE DATEDIFF(Due_Date, CURDATE() ) > 15

我没有收到任何错误,只是没有收到任何结果,即使我有多个项目列为 2 月 10 日截止日期。如果我删除 WHERE 语句之后的所有内容,我确实会获得所需的所有信息,所以我知道这至少是有效的。

最佳答案

对于DATEDIFF,如果第一个项目的日期比第二个项目的日期小,那么它将返回负数(因此永远不会大于 16)而不是正数。因此,翻转它们,您希望将较晚的日期作为第一个参数:

... WHERE DATEDIFF( CURDATE(), Due_Date ) > 15

关于MySQL WHERE 日期 > 15 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28802351/

相关文章:

mysql - 如何统计评论总数?

mysql - 如何在 SQL 中获取结果计数

mysql - xlsx到mysql数据的字符编码问题

mysql - 查找名字/姓氏交换的重复用户

MySQL:仅当不在另一个表中时才从一个表中选择电子邮件?

mysql - SQL ORDER BY 可与自定义 "comparators"配合使用吗?

php - Laravel Eloquent 按关系排序

mysql - 每6个月查询一次结果(显示7天前的结果)

php - mySQL where 存在或不存在 select

mysql - 没有从 mysql 查询中获取记录