あなたは近かった-比較を逆にした(startDate
を想定) DATETIMEまたはTIMESTAMPデータ型です):
SELECT *
FROM table
WHERE amount > 1000
AND MONTH(dateStart) = {$m}
警告:
- mysql_escape_string を使用していることに注意してください または、SQLインジェクション攻撃 のリスクがあります 。
- 列に対する関数呼び出しは、インデックスが存在する場合は使用できないことを意味します
代替案:
列で関数を使用するとインデックスを使用できないため、BETWEEN
を使用することをお勧めします。 およびSTR_TO_DATE
機能:
WHERE startdate BETWEEN STR_TO_DATE([start_date], [format])
AND STR_TO_DATE([end_date], [format])
フォーマット構文については、ドキュメントを参照してください。
参照:
- 月>
- 年>
- BETWEEN
- STR_TO_DATE