Por lo general, no es una buena idea comparar números de punto flotante con =
operador igual.
-
¿Es correcto comparar dos números de coma flotante redondeados usando el operador ==?
-
Lidiar con problemas de precisión en números de punto flotante
Para su aplicación, debe considerar qué tan cerca desea que esté la respuesta.
1 grado es aproximadamente 112 km y 0,00001 grados es aproximadamente 1,1 metros (en el ecuador). ¿Realmente desea que su aplicación diga "no es igual" si dos puntos difieren en 0,00000001 grados =1 mm?
set @EPSLION = 0.00001 /* 1.1 metres at equator */
SELECT * FROM location_forslag
WHERE `lngitude` >= 13.8461208 [email protected]
AND `lngitude` <= 13.8461208 + @EPSILON
Esto devolverá puntos donde la longitud está dentro de @epsilon
grados del valor deseado. Debe elegir un valor para epsilon que sea apropiado para su aplicación.