gpt4 book ai didi

mysql - 如何在查询中向 MYSQL 中的日期添加天数

转载 作者:行者123 更新时间:2023-11-29 15:35:53 25 4
gpt4 key购买 nike

我试图在查询中向 MYSQL 中的日期添加 5 天。这就是我所做的:

在 user_id = idpartner 上从销售 INNER JOIN 合作伙伴中选择 * WHERE DATE((end_date) + 5) >= DATE(NOW()) ORDER BY end_date ASC LIMIT 0,50000

但这并未显示已结束的销售列表。有人可以告诉我我在哪里犯了错误吗?

最佳答案

您似乎想要 end_date 晚于五天前的行。

实现这一目标的最佳方法是使用

 WHERE end_date >= CURDATE() - INTERVAL 5 DAY

将整数添加到日期中的操作在 MySQL 中不起作用(这是 Oracle 的事情)。因此,您需要使用INTERVAL n unit语法。

您会注意到上面的 WHERE 子句在功能上等同于

 WHERE DATE(end_date) + INTERVAL 5 DAY >= DATE(NOW())

但是,第一个公式优于第二个公式有两个原因。

  1. 如果您在 WHERE 子句中提及 end_date 而不将其包装在计算中,则您的查询可以利用该列上的索引并且运行得更快。
  2. DATE(NOW())CURDATE() 均指今天的第一个时刻(午夜)。但 CURDATE() 更简单一些。

关于mysql - 如何在查询中向 MYSQL 中的日期添加天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com