【问题标题】:MySQL- Last 6 months including current monthMySQL- 最近 6 个月,包括当前月份
【发布时间】:2022-11-22 02:45:27
【问题描述】:

我有这个日期格式: YYYY-MM-DD(示例:2022-05-10) 我只想提取最近 6 个月,包括当前月份。 结果通常是:6 月、7 月、8 月、9 月、10 月、11 月(最后 6 个月)

我做这个请求:

Select created_date
from table_A
Where created_date >= now() - INTERVAL 6 MONTH

查询给了我最近 7 个月,也就是说从 2022 年 5 月到 2022 年 11 月,这不是我想要的。

我想要包括当前月份在内的最后 6 个月,即从 6 月到 11 月

预先感谢您的帮助

【问题讨论】:

  • 其中 created_date >= now() - INTERVAL 5 MONTH

标签: mysql date request monthcalendar


【解决方案1】:

最简单的方法是:

WHERE created_date >= last_day(current_date()) + interval 1 day - interval 6 month

【讨论】:

    【解决方案2】:

    今天是 2022-11-21,您想要 2022-06-01 当天或之后的所有内容吗?那是当前日期 - 5 个月 - 20 天

    SELECT created_date
    FROM table_A
    WHERE created_date >= (CURRENT_DATE - INTERVAL (DAYOFMONTH(CURRENT_DATE) - 1) DAY) - INTERVAL 5 MONTH;
    

    【讨论】:

    • WHERE created_date >= DATE_FORMAT(CURRENT_DATE - INTERVAL 5 MONTH, '%Y-%m-01')
    • 您的查询可能会产生不正确的输出。 DAYOFMONTH(CURRENT_DATE) 可能不等于 5 个月前的那些(例如,测试 CURRENT_DATE = '2022-07-31')。
    • @Akina 当然,我做错了。谢谢。
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多