gpt4 book ai didi

mysql - 检索日期为 X 天前的 MySQL 记录

转载 作者:行者123 更新时间:2023-11-30 22:46:03 26 4
gpt4 key购买 nike

你好,我正在尝试从 MySQL DB 中提取一些记录,我在这里尝试过可能的解决方案,例如:

SELECT o.id_order, o.reference, o.id_customer, DATE_FORMAT(o.invoice_date, '%m%d%y') AS 'invoice_date'
FROM ps_orders AS o
WHERE DATE(o.invoice_date) = CURDATE() - INTERVAL 100 DAY;

SELECT o.id_order, o.reference, o.id_customer, o.invoice_date
FROM ps_orders AS o
WHERE o.invoice_date = DATE_SUB(CURDATE(), INTERVAL 30 DAY);

但我一直得到 0 个结果。

格式:

o.invoice_date

是 2013-04-06 02:02:12 (YYYY-MM-DD HH:II:SS)。

我不确定为什么我总是得到 0 个结果。当我尝试使用此查询时:

SELECT o.id_order, o.reference, o.id_customer, o.invoice_date
FROM ps_orders AS o
WHERE o.invoice_date < CURDATE() - INTERVAL 30 DAY
ORDER BY o.invoice_date DESC;

有效,但我只想获取x DAY 前(EXACTLY) 的数据。有人能指出我正确的方向吗?感谢您的帮助...

最佳答案

最好的方法是:

WHERE o.invoice_date >= CURDATE() - INTERVAL 30 DAY AND
o.invoice_date < CURDATE() - INTERVAL 29 DAY

这允许查询引擎在 o.invoice_date 上使用索引。

关于mysql - 检索日期为 X 天前的 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29579416/

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