2013-11-27 5 views
1

У меня есть Oracle 11g DB. Я храню широту и долготу (скажем, магазины или магазины). Теперь мне нужен запрос, который рассчитает расстояние между магазинами и моим местоположением (которое я укажу в запросе). Я сделал это раньше в MySQL, но в Oracle нет функции Radians. Поэтому мне нужно работать aronud в Oracle SQL.Запрос вычисления расстояния LL Lon в Oracle

Помогите оценить. Спасибо.

ответ

3

Создать функцию, которая преобразует градусы в радианы:

CREATE OR REPLACE FUNCTION degree_to_radian(p_degree IN NUMBER) 
    RETURN NUMBER IS 
BEGIN 
    RETURN p_degree/57.2957795; 
END degree_to_radian; 
+0

можно использовать ВОЗВРАТ p_degree/(180/ACOS (-1)); в соответствии с другим ответом. – lpapp

1

или даже более точным:

RETURN p_degree /(180/ACOS(-1)); 
+0

Вы имели в виду это как комментарий к другому ответу, или вы хотели бы воспроизвести контент с этим исправлением? – lpapp

+0

Извините, мое замещение не позволило мне написать комментарии, поэтому я сказал, что это ответ. –

+0

Это не повод для того, чтобы комментировать ответы ... Пожалуйста, получите достаточную репутацию для комментариев, если вы хотите получить комментарии, а не ответы. В его текущей форме это комментарий, поэтому, пожалуйста, удалите его или добавьте в полный ответ, как было предложено ранее. – lpapp

Смежные вопросы