2012-12-14 300 views
1

內的所有記錄。當我試圖選擇特定的月份和年份的記錄,當我搜索我發現半個解決方案選擇年份和月份

mysql: select all entries from a particular month using PHP

select * 
from thetable 
where monthname(date_field) = 'February' 

然後我修改以下

select * 
from payments 
where monthname(date) = 'February' and EXTRACT(date)='2011'; 

但它顯示錯誤什麼是正確的方式來選擇mounth和 在我的表中我的商店日期爲2011-2-4

+0

繼從你鏈接到的問題開始,你能不能使用'year()'方法嗎? – SeeSharp

+0

是'DATE'數據類型或'VARCHAR'的'日期'列嗎? –

回答

1

看來你列不在一個Date數據類型,所以你能做的最好的方法是將其使用STR_TO_DATE

SELECT * 
FROM Payments 
WHERE MONTHNAME(STR_TO_DATE(date,'%Y-%c-%e')) = 'FEBRUARY' AND 
     YEAR(STR_TO_DATE(date,'%Y-%c-%e')) = 2011 
+0

錯誤1305(42000):功能ruhuna.STR_TODATE不存在來 – master3w

+1

對不起,應該是'STR_TO_DATE' –

1

試試這個先轉換爲DATE

select * from payments p 
where year(p.date) = 2011 and monthname(p.date) = 'February' 
+0

謝謝你的代碼也適合我 – master3w