2017-01-28 8 views
-1

私は2017-01-10,2017-02-122017-05-14などのデータを持つ日付フィールドを持っています。ここで、どのフィールドに10月、2017年の日付があるかどうかをチェックするにはどうすればいいですか?php mysqlの日付フィールドの年月を比較する方法

+0

私は、記載された複製が実際に重複しているとは思わない。 1つは、答えは現在の日付に焦点を当てましたが、これは任意の日付です。また、受け入れられた答えは最善の答えではありません。 –

答えて

3

私はあなたがこのような不平等を使用することを示唆している:

where datefield >= '2017-10-01' and datefield < '2017-11-01' 

このアプローチには二つの利点があります。適切な場合

  • クエリオプティマイザは、使用可能なインデックスを使用することができます。
  • datefieldに時間コンポーネントがある場合、同じロジックが機能します。

あなたはこのような何か場合:

where year(datefield) = 2017 and month(datefield) = 10 

を次にMySQLはインデックスを使用しません。 (同じことがyearmonth()であり、列の書式設定も同じです。)