Estou precisando montar um SQL no seguinte cenário:
Uma tabela com Latitudes e Longitudes:
Pensei em enviar 4 parâmetros 1 latitude e Longitude inicial e 1 latitude e longitude final, e precisava que me trouxesse registros que estivesse dentro deste intervalo, não sei se teria outra forma eu fiz assim, porém não encontrei nada, só que a tabela gigantesca, não acredito que não exista nenhum registro neste intervalo:
SELECT R.* FROM TSROTADET R
WHERE (R.LATITUDE BETWEEN '-25,949061' AND '-26,270519')
AND ( R.LONGITUDE BETWEEN '-53,096176' AND '-52,711133');
Se alguém puder ajudar aí, desde já agradeço todas as repostas?
É que eu não tenho como saber qual valor estará maior ou não! Não vai alterar os resultados?
Eu poderia tentar validar algo, “Se este é maior que este” e colocar por primeiro.
Presumo que esses valores sejam variáveis e não strings literais.
SELECT R.* FROM TSROTADET R
WHERE R.LATITUDE BETWEEN LEAST(:LATINI, :LATFIM) AND GREATEST(:LATINI, :LATFIM)
AND R.LONGITUDE BETWEEN LEAST(:LONGINI, :LONGFIM) AND GREATEST(:LONGINI, :LONGFIM);
Trouxe informações, era isso mesmo que precisava, muito obrigado, só adicionei o IDROTA, para controlar mais o resultado e trazer de um determinado trecho.