【问题标题】:How to put the first date of this year in a WHERE clause. MYSQL如何将今年的第一个日期放在 WHERE 子句中。 MYSQL
【发布时间】:2012-11-28 15:12:18
【问题描述】:

我需要我的查询来选择今年的第一个日期和当前日期之间的所有日期。 (即今年数据库中的所有日期),但是我的代码在过去 12 个月内这样做。如何更改我的代码以确保其唯一日期为今年?

WHERE DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date

非常感谢

【问题讨论】:

    标签: mysql database where


    【解决方案1】:
    SELECT ...
    FROM   ...
    WHERE DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date AND
          YEAR(your_datecolumn) = YEAR(CURDATE())
    

    【讨论】:

    • 现在不需要 DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
    • 您提到您的查询是在过去 12 个月内完成的,因此添加 AND YEAR(your_datecolumn) = YEAR(CURDATE()) 将仅按当年过滤记录。顺便问一下,你测试了查询吗?
    【解决方案2】:
    where created_date between MAKEDATE(YEAR(now()), 1) and now();
    

    MAKEDATE(YEAR(now()), 1) 给你 '01/01/(thisyear)'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      相关资源
      最近更新 更多