Доброго времени суток! Суть вопроса:
Есть таблица в PostgreSQL под названием shops со столбцами ID, name, latitude, longitude
Как выбрать из нее строки, которые входят в определенный диапазон?
Попытался воспользоваться следующим способом:
SELECT *
FROM shops
WHERE acos(
sin(radians(31.852781)) -- Latitude текущий
* sin(radians(latitude)) -- Latitude из таблицы
+ cos(radians(31.852781)) -- Latitude текущий
* cos(radians(latitude)) -- Latitude из таблицы
* cos( radians(49.151766) -- Longitude текущий
- radians(longitude)) -- Longitude из таблицы
) * 6371 <= 200;
для того чтобы выбрать все магазины в радиусе 200 км от заданных координат. Выходит ошибка:
[42883] ERROR: function radians(text) does not exist Подсказка: No function matches the given name and argument types. You might need to add explicit type casts.
Не могу разобраться в чем причина. Заранее благодарю.