Выполнение запросов MySQL и MS SQL отличается

#php #mysql #sql-server

#php #mysql #sql-сервер

Вопрос:

  SELECT ACOS(31.552278760192) 
  

при выполнении на сервере MSSQL оно возвращает некоторое значение, но при выполнении в MYSQL оно возвращает null.

Приветствуется любая помощь.

Комментарии:

1. Почему вы не проверяете, какой ACOS(SIN(31.552278760192) * SIN (latitute) COS(31.552278760192) * COS(latitute) * COS(longitute) — 74.338372290294) * 6371 возвращается в MySQL? Там может быть какая-то проблема.

2. Согласовано — вам нужно разбить каждый выбор.

3. @Kangkan, я не такой ленивый. Я проверил это. Он возвращает что-то, что не является нулевым.

4. @Kangkan, я отредактировал исходное сообщение, пожалуйста, прочитайте его еще раз.

Ответ №1:

Из точного руководства:

ACOS(X)
Возвращает косинус дуги X, то есть значение, косинус которого равен X. Возвращает NULL, если X не находится в диапазоне от -1 до 1.

Таким образом, 31.552278760192 находится вне диапазона для MySQL ACOS . Фактически, функция arccosine не выдает действительное число в результате за пределами [-1,1] и acos(31.552278760192) равно ~ 4i.

Комментарии:

1. Отличный ответ. Такое глубокое понимание. Где находится кнопка 10 голосов?