【发布时间】:2012-11-28 15:12:18
【问题描述】:
我需要我的查询来选择今年的第一个日期和当前日期之间的所有日期。 (即今年数据库中的所有日期),但是我的代码在过去 12 个月内这样做。如何更改我的代码以确保其唯一日期为今年?
WHERE DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date
非常感谢
【问题讨论】:
我需要我的查询来选择今年的第一个日期和当前日期之间的所有日期。 (即今年数据库中的所有日期),但是我的代码在过去 12 个月内这样做。如何更改我的代码以确保其唯一日期为今年?
WHERE DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date
非常感谢
【问题讨论】:
SELECT ...
FROM ...
WHERE DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date AND
YEAR(your_datecolumn) = YEAR(CURDATE())
【讨论】:
AND YEAR(your_datecolumn) = YEAR(CURDATE()) 将仅按当年过滤记录。顺便问一下,你测试了查询吗?
where created_date between MAKEDATE(YEAR(now()), 1) and now();
MAKEDATE(YEAR(now()), 1) 给你 '01/01/(thisyear)'
【讨论】: