获取当前年份和下一个表单 mysql
我正在从表格中选择各种东西。问题是我只想选择它们,如果它们属于当前年份和下一年。
我的表看起来像这样
标题文本日期
日期的格式类似于 0000-00-00,格式为“date”
所以问题是,我怎么能只从今年和明年选择项目?
示例:年份是 2012 年,我的表中有旧的项目,我不希望它们显示 - 我只想从 2012 年 1 月 1 日选择项目,在本例中为 2013 年 12 月 31 日,当前年份 2012 + 1 年。
非常感谢您的任何帮助!
我正在从表格中选择各种东西。问题是我只想选择它们,如果它们属于当前年份和下一年。
我的表看起来像这样
标题文本日期
日期的格式类似于 0000-00-00,格式为“date”
所以问题是,我怎么能只从今年和明年选择项目?
示例:年份是 2012 年,我的表中有旧的项目,我不希望它们显示 - 我只想从 2012 年 1 月 1 日选择项目,在本例中为 2013 年 12 月 31 日,当前年份 2012 + 1 年。
非常感谢您的任何帮助!
SELECT
*
FROM
table
WHERE
YEAR(date) = YEAR(CURDATE())
OR
YEAR(date) = YEAR(CURDATE()) + 1
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
SELECT
*
FROM
table
WHERE
date BETWEEN CONCAT(YEAR(CURDATE()),'-01-01') AND CONCAT(YEAR(CURDATE())+1,'-12-31')
尽管它看起来很丑陋,但它允许你的查询在字段上使用索引。date
更好的主意是在外部PHP脚本中创建限制日期,以便查询可以使用查询缓存。
如果您只想显示不超过两年的项目,则可以执行以下操作:
SELECT
*
FROM
table
WHERE
date >= CURDATE() - INTERVAL 2 YEAR;