Anda sudah dekat - dapatkan perbandingan terbalik (dengan asumsi startDate
adalah tipe data DATETIME atau TIMESTAMP):
SELECT *
FROM table
WHERE amount > 1000
AND MONTH(dateStart) = {$m}
Peringatan:
- Perhatikan bahwa Anda menggunakan mysql_escape_string atau Anda berisiko serangan injeksi SQL .
- Panggilan fungsi pada kolom berarti indeks, jika ada, tidak dapat digunakan
Alternatif:
Karena menggunakan fungsi pada kolom tidak dapat menggunakan indeks, pendekatan yang lebih baik adalah menggunakan BETWEEN
dan STR_TO_DATE
fungsi:
WHERE startdate BETWEEN STR_TO_DATE([start_date], [format])
AND STR_TO_DATE([end_date], [format])
Lihat dokumentasi untuk memformat sintaks.