У меня возникает странная проблема при вычислении расстояния латинского языка. Если я ввожу этот запрос в MySQLMySQL тригг математика для вычисления результатов расстояния в нуле
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) * sin(radians(30.50492800))))
это приводит к нулевой. Тем не менее, ввод
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) * sin(radians(30.50492700))))
или
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.49670)) + sin(radians(30.50492800)) * sin(radians(30.50492800))))
дает результат.
Любые причины, которые могут вызвать это?
Спасибо, я добавил в диапазон проверки внутри acos, чтобы установить его в 1 или -1, если он был вне этого диапазона. – bezz
@bezz Добро пожаловать. –