Giải pháp đầu tiên của bạn gần như đã có, nhưng phức tạp hơn mức cần thiết và sẽ không hoạt động. Nó sẽ bỏ lỡ bất kỳ hàng nào từ ngày cuối cùng của tháng kết thúc.
Bạn có thể thêm một tháng vào end month
và sau đó sử dụng BETWEEN vào ngày đầu tiên của mỗi tháng. ví dụ:
start month: 9 , start year: 2011
end month: 3, end year: 2012
BETWEEN '2011-09-01' AND '2012-04-01'
hoặc, như JNK chỉ ra, điều này sẽ tốt hơn:
DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'
Bạn sẽ cần thêm một số logic để đối phó với end month
là tháng 12, nhưng đây có vẻ là cách đơn giản nhất để thực hiện.