Xem liên quan này câu hỏi.
Như những người khác đã đề cập, vấn đề chính của bạn không phải là tính toán thời gian. Một số tùy chọn để xử lý điều đó:
-
Sử dụng một hàm để chuyển đổi DateTime thành Date. Tôi không khuyến nghị tùy chọn này, vì nó có thể sẽ làm cho hàm không thể phân chia .
-
Mở rộng
BETWEEN
của bạn để bao gồm rõ ràng khoảnh khắc cuối cùng trong ngày:(lưu ý:đây là giá trị mới nhất có thể mà MS SQL có thể lưu trữ, không biết MySQL có cùng giá trị không)SELECT * FROM `punches` WHERE `date` BETWEEN '08/20/11 00:00:00.000' AND '08/31/11 23:59:59.997'
-
Sử dụng
<
cho giá trị trênSELECT * FROM `punches` WHERE `date` >= '08/20/11' AND `date` < '09/01/11'
Tôi thực sự nghĩ rằng điều cuối cùng dễ dàng hơn, trong hầu hết các tình huống.
Tôi cho rằng bạn có thể làm những việc khác, chẳng hạn như thay đổi kiểu dữ liệu của cột, nhưng ở đây tôi đã giả định rằng bạn chỉ quan tâm đến việc thay đổi truy vấn.
** Tuyên bố từ chối trách nhiệm:Tôi là người sử dụng MS SQL, không phải MySQL