【问题标题】:select all data beginning from the first of the month sql选择从本月第一天开始的所有数据 sql
【发布时间】:2017-11-02 18:58:47
【问题描述】:

我正在尝试获取前三个月的数据以用于月度报告。我到了可以获取所有数据的地步。问题是它会根据当前日期回溯 3 个月。

示例:如果今天是 11 月 7 日,它将为我提供截至 8 月 7 日的数据。 我需要它来给我回溯三个月但从月初开始的数据。

示例:今天是 11 月 7 日,我需要从 8 月 1 日开始的数据。

这是我用来获取三个月前数据的代码:

SELECT * FROM 'closed_wo_journal' WHERE date_time_stamp > CURDATE() - INTERVAL 3 MONTH

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    这是获取三个月前的第一天的逻辑:

    SELECT j.*
    FROM closed_wo_journal j
    WHERE j.date_time_stamp >= ( CURDATE() - INTERVAL (1 - DAY(CURDATE()) DAY) ) - INTERVAL 3 MONTH )
    

    【讨论】:

      【解决方案2】:

      date_trunc 函数正是医生所要求的:

      SELECT *
      FROM   closed_wo_journal
      WHERE  date_time_stamp > DATE_TRUNC('MONTH', CURDATE() - INTERVAL '3 MONTH')
      

      【讨论】:

      • 我不知道 MySQL 有一个 date_trunc() 函数。
      猜你喜欢
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2010-11-06
      • 1970-01-01
      • 2021-10-24
      • 2020-03-13
      • 2023-04-06
      相关资源
      最近更新 更多