1

検索時に特定の月と年のレコードを選択しようとすると、半分の解決策が見つかりました

mysql:PHPを使用して特定の月のすべてのエントリを選択します

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

それから私はそれを次のように変更します

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

しかし、それは私のテーブルで山と年を選択する正しい方法は何であるかエラーを示しています私は日付を次のように保存します 2011-2-4

4

2 に答える 2

1

これを試して:

select * from payments p 
where year(p.date) = 2011 and monthname(p.date) = 'February'
于 2012-12-14T09:00:46.960 に答える
1

あなたの列はデータ型ではないようですので、最初にそれを使用Dateするように変換するのが最善の方法ですDATESTR_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
于 2012-12-14T03:04:03.467 に答える