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

Cách tránh chuyển đổi ngầm của MySQL (Giá trị DOUBLE không chính xác bị cắt ngắn)

Bạn nên thử truyền nó một cách rõ ràng bằng cách sử dụng CAST hoặc CONVERT hoạt động như bên dưới và không tính vào quá trình truyền ngầm.

SELECT * FROM test WHERE sample_col = cast('foo' as int);

(OR)

SELECT * FROM test WHERE cast(sample_col as varchar) = 'foo';

Hơn nữa, không có ích gì khi so sánh INT nhập cột bằng string giá trị và AFAIK, không có cài đặt nào như vậy để dừng truyền ngầm. nếu bạn thực sự muốn dẫn đến lỗi thay vì chuyển nó thành 0 thì hãy truyền nó một cách rõ ràng; trong trường hợp đó nó sẽ bị lỗi.

Xem Nhập Chuyển đổi trong Đánh giá Biểu thức Để biết thêm thông tin.



  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 để tránh các kết nối DB bị đình trệ với nhóm kết nối JDBC của TomEE?

  2. PHP lấy dữ liệu từ hàng của bảng và lưu trữ vào biến

  3. Làm cách nào để sử dụng hàm do người dùng MySQL xác định từ bên trong PHP?

  4. Làm thế nào để lấy kết quả từ nodejs bằng cách sử dụng gói mysql?

  5. Ví dụ về LOCALTIMESTAMP - MySQL