Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - GIỮA sẽ không chọn kết quả chính xác

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 đó:

  1. 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 .

  2. 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'
    
  3. Sử dụng < cho giá trị trên

    SELECT * 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xuất Cơ sở dữ liệu MySQL sang Cơ sở dữ liệu SQLite

  2. Làm cách nào để tạo chỉ mục DESC trong MySQL?

  3. Không thể kết nối với cơ sở dữ liệu localhost từ máy chủ node.js

  4. Cách tốt nhất để sử dụng LEFT OUTER JOIN để kiểm tra sự không tồn tại của các hàng liên quan là gì

  5. Cách lưu trữ Ngày của Java thành Mysql datetime với JPA