我正在從表中選擇各種東西。問題是我只想選擇他們,如果他們屬於今年和明年。獲取當前年份和下一個表格mysql
我的表看起來像這樣
標題文本日期
的日期格式化這樣0000-00-00並且格式爲「日期」
所以問題我如何才能僅選擇今年和未來的物品?
例如:今年是2012年,我的桌子上有舊物品,我不想讓他們展示 - 我只想從2012年1月1日開始挑選物品,最後一次是2013年12月31日當前年份2012 + 1年。
非常感謝您的幫助!
我正在從表中選擇各種東西。問題是我只想選擇他們,如果他們屬於今年和明年。獲取當前年份和下一個表格mysql
我的表看起來像這樣
標題文本日期
的日期格式化這樣0000-00-00並且格式爲「日期」
所以問題我如何才能僅選擇今年和未來的物品?
例如:今年是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;
注意,這不會對`date`場使用索引。 – Mchl 2011-01-26 23:35:20