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

Tại sao truy vấn sql này không trả về bất kỳ kết quả nào so sánh các số dấu phẩy động?

Nói chung không phải là ý kiến ​​hay khi so sánh số dấu phẩy động với = toán tử bằng.

Đối với ứng dụng của mình, bạn cần cân nhắc xem bạn muốn câu trả lời gần đến mức nào.

1 độ là khoảng 112 km, và 0,00001 độ là khoảng 1,1 mét (ở đường xích đạo). Bạn có thực sự muốn ứng dụng của mình nói "không bằng nhau" nếu hai điểm chênh lệch nhau 0,00000001 độ =1mm không?

set @EPSLION = 0.00001  /* 1.1 metres at equator */

SELECT * FROM location_forslag 
WHERE `lngitude` >= 13.8461208 [email protected] 
AND `lngitude` <= 13.8461208 + @EPSILON

Thao tác này sẽ trả về các điểm mà lngitude nằm trong @epsilon bậc của giá trị mong muốn. Bạn nên chọn một giá trị cho epsilon phù hợp với ứng dụng của bạn.



  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 thế nào để chuyển đổi html thành pdf bằng php?

  2. MAX () so với GREATEST () trong MySQL:Sự khác biệt là gì?

  3. IO.FileNotFoundException trong MySql.Data.dll:Không thể tải System.Security.Permissions

  4. Codeigniter hoạt động bản ghi truy vấn mất quá nhiều thời gian để tải dữ liệu từ cơ sở dữ liệu

  5. Làm cách nào để chèn một mảng giá trị vào các cột khác nhau của bảng mysql?