您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL Datediff查询

MySQL Datediff查询

看来您正在尝试这样做:

WHERE specific_date < (Now() + 5 days)

首先,请仔细考虑边界情况。这些边界情况可能会在sql中咬伤您的脚踝。你真的想要

WHERE specific_date <= (Now() + 5 days)

您的specific_date列时间戳仅包含几天(即时间等于午夜的日期)还是包含日期和时间?如果要获得所需的结果,则需要注意这些细节。

无论如何,请尝试以下操作:

WHERE specific_date <= DATE_ADD(Now(), INTERVAL 5 DAY)

这是进行此类查找的好方法。列值单独位于不等式谓词(<=)的一侧,因此,如果列上有索引,则MysqL可以进行索引范围扫描。

MysqL中的日期算术非常灵活。你可以做

   Now() + INTERVAL 10 SECOND
   Now() - INTERVAL 2 MINUTE
   Now() + INTERVAL 4 HOUR
   CURDATE() - INTERVAL 1 WEEK /* midnight one week ago */
   LAST_DAY(Now()) + INTERVAL 1 DAY - INTERVAL 1 MONTH  /*first day of present month*/
   Now() - INTERVAL 1 QUARTER
   CURDATE() - INTERVAL 5 YEAR

等等。

MySQL 2022/1/1 18:53:21 有375人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶