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

Kết hợp bất hợp pháp các đối chiếu để hoạt động để so sánh ngày / giờ

  1. Như đã giải thích trong mục nhập thủ công cho DATE_ADD() :

    Trong trường hợp của bạn, vì table1.timTIME giá trị, hàm đang trả về một chuỗi.

    Chuỗi được trả về trong bộ ký tự và đối chiếu được cung cấp bởi character_set_connection collation_connection .

  2. Như đã giải thích trong mục nhập thủ công cho TIME() :

    Chuỗi được trả về dưới dạng chuỗi nhị phân (tại sao tôi không sử dụng bộ ký tự kết nối &đối chiếu — có lẽ là lỗi?).

  3. Như đã giải thích trong mục thủ công cho Nhập Chuyển đổi trong Đánh giá Biểu thức :

    Do đó, so sánh được thực hiện là so sánh chuỗi, nhưng là binary chuỗi không thể bị ép buộc vào một đối chiếu thích hợp để so sánh (vì mã hóa của nó không được biết). Do đó, lỗi mà bạn đang chứng kiến.

Người ta có thể buộc việc so sánh được tiến hành chính xác bằng cách truyền một cách rõ ràng một hoặc cả hai toán hạng, nhưng tôi chỉ muốn làm lại mệnh đề để chuyển đổi diễn ra hoàn toàn so với một TIME loại:

TIME(table1.dt1 - INTERVAL 1 MINUTE) <= table1.tim



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đo thời gian mysql, thời gian và / hoặc tải của một truy vấn sql trong php?

  2. Tại sao các câu lệnh NOT EXISTS lồng nhau không thể tránh khỏi trong SQL

  3. Codeigniter, mysql, select_max và thêm 1 trước khi chèn một bản ghi khác

  4. Cập nhật bảng trong trình kích hoạt sau khi cập nhật trên cùng một bảng

  5. Django tự tham gia, Cách chuyển đổi truy vấn này thành truy vấn ORM