2011-01-26 65 views
12

我正在從表中選擇各種東西。問題是我只想選擇他們,如果他們屬於今年和明年。獲取當前年份和下一個表格mysql

我的表看起來像這樣

標題文本日期

的日期格式化這樣0000-00-00並且格式爲「日期」

所以問題我如何才能僅選擇今年和未來的物品?

例如:今年是2012年,我的桌子上有舊物品,我不想讓他們展示 - 我只想從2012年1月1日開始挑選物品,最後一次是2013年12月31日當前年份2012 + 1年。

非常感謝您的幫助!

回答

4
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; 
相關問題