Sto cercando di ambito mia query per selezionare le posizioni che sono all'interno di una casella di delimitazione delle latitudini/longitudini. Generalmente questo funziona bene dato il riquadro di delimitazione non attraversare la linea del cambiamento di data.
SELECT *
FROM locations
WHERE latitude BETWEEN ? AND ?
AND longitude BETWEEN ? AND ?
Tuttavia - se la mia casella di delimitazione era quello di attraversare la linea del cambiamento di data - dire longitudinale limiti di 179.00
per -179.00
quindi la query non restituisce alcun risultato. Non posso capovolgere l'ordine e la si cambia tra -179.00
e 179.00
perché, invece, tornare le cose al di fuori della mia casella di delimitazione.
Qual è la più sana modo migliore per determinare le appropriate istruzioni SQL necessarie (come SQL o psuedocode che potrebbe aiutare a ottenere le migliori SQL).