【问题标题】:compare 2 dates, without considering the day比较 2 个日期,不考虑日期
【发布时间】:2017-07-12 13:40:46
【问题描述】:

我需要一个 SQL 查询来仅根据年份和月份来比较 2 个日期。

即第一个日期是 2017-07-12,第二个日期是 2017-07-30。

由于它们共享相同的月份和年份,我需要在我的 WHERE 查询中获取它们。

我知道如何使用 DATEFORMAT(将两者都转换为 yyy-mm-01 的形式)。我想知道是否有更清洁的方法。

【问题讨论】:

  • 向我们展示查询

标签: mysql date


【解决方案1】:

您可以使用Month()Year() 函数比较他们的月份和年份:

WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2);

他们的手册中有一些关于mysql date and time functions page 的好信息。

【讨论】:

    【解决方案2】:

    MySQL 函数EXTRACT() 可用于此目的:

    WHERE EXTRACT(YEAR_MONTH FROM date1) = EXTRACT(YEAR_MONTH FROM date2)
    

    EXTRACT(YEAR_MONTH FROM '2017-07-12') 返回'201707'

    【讨论】:

      猜你喜欢
      • 2019-12-06
      • 2014-06-30
      • 1970-01-01
      • 2013-09-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      相关资源
      最近更新 更多