Bạn đã kết thúc - có so sánh ngược lại (giả sử startDate
là kiểu dữ liệu DATETIME hoặc TIMESTAMP):
SELECT *
FROM table
WHERE amount > 1000
AND MONTH(dateStart) = {$m}
Lưu ý:
- Lưu ý rằng bạn đang sử dụng mysql_escape_string hoặc bạn có nguy cơ bị tấn công chèn SQL .
- Lệnh gọi hàm trên các cột có nghĩa là một chỉ mục, nếu tồn tại, sẽ không thể được sử dụng
Lựa chọn thay thế:
Bởi vì việc sử dụng các hàm trên các cột không thể sử dụng các chỉ mục, một cách tiếp cận tốt hơn sẽ là sử dụng BETWEEN
và STR_TO_DATE
chức năng:
WHERE startdate BETWEEN STR_TO_DATE([start_date], [format])
AND STR_TO_DATE([end_date], [format])
Xem tài liệu để biết cú pháp định dạng.