gpt4 book ai didi

mysql - 在MySQL中获取直到上个月最后一天的数据

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

我有一个 mysql-db,其中包含费用和日期时间。每个月我都想创建一张发票,其中包含上个月或更早的所有费用。因此,如果是 2012 年 5 月 2 日、5 日或 30 日,我仍然只想要 2012 年 4 月或更早的发票。我试过 date_sub,但它只是减去一个月,所以它只开具上个月同一天的发票。我应该怎么做?

从 Ads WHERE AdEnd > ??

获取 *

是的!

最佳答案

我总是发现,如果从当前日期减去该月的第几天(以天为单位),您将得到上个月的最后一天。例如,在该月的 15 日,减去 15 天,您将得到上个月的最后一天:

SELECT (DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE()) DAY))

如果 CURDATE()2012-05-05,则以上返回 2012-04-30

因此,要获取截至上个月最后一天的广告,请执行以下操作:

SELECT *
FROM Ads
WHERE AdEnd <= (DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE()) DAY))

如果 AdEnd 是 DATE,则此方法有效,但如果它是 DATETIME,您将只想少于一个月的第一天,因此您减去一天以获得第一天像这样的月份:

SELECT *
FROM Ads
WHERE AdEnd < (DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE()) - 1 DAY))

关于mysql - 在MySQL中获取直到上个月最后一天的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458208/

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