【问题标题】:displaying data between date ranges mysql显示日期范围mysql之间的数据
【发布时间】:2010-06-07 10:26:48
【问题描述】:

我需要从给定日期算出 6 个月(向后)。

示例日期:

07/06/2010 00:00:00

需要倒数6个月并显示:

07/12/2009 00:00:00

我一直在浏览:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html,这些功能对我来说没有意义:(

希望这是有道理的,任何帮助都会得到认可。

凯尔

【问题讨论】:

    标签: mysql date-range


    【解决方案1】:

    它就在手册的顶部,很惊讶你找不到它(adddate / date_add);

    mysql> SELECT DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH);
    +----------------------------------------------------+
    | DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH) |
    +----------------------------------------------------+
    | 2009-10-02 23:23:23                                |
    +----------------------------------------------------+
    1 row in set (0.00 sec)
    

    如果需要,可以添加 DATE_FORMAT()

    【讨论】:

      【解决方案2】:
      DATE_SUB(mydate, INTERVAL 6 MONTH)
      

      【讨论】:

      • PERIOD_ADD(201006, -6) 有用吗?它需要否定论点吗?我现在无法访问 mysql。
      【解决方案3】:

      对于当前日期,您可以使用

      SELECT * FROM table 
      WHERE mydate BETWEEN DATE_SUB(curdate(), INTERVAL 6 MONTH) and curdate();
      

      如果给定日期不是当前日期,则应为2010-06-07,而不是07/06/2010

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        相关资源
        最近更新 更多