Ho trovato molti post simili e persino cercato di scoprire come gestire i valori negativi all'interno di MySQL, ma senza successo.MySQL - Ricerca di valori di longitudine negativi con BETWEEN
Ho un sito su cui sto utilizzando Google Maps e come miglioramento delle prestazioni sto limitando i marcatori che sono tracciati sulla mappa a quelli che si trovano all'interno dei confini della mappa.
Vorrei sviluppare una query che funzionerà con i valori latitude
e longitude
positivi o negativi.
Per il database:
latitude FLOAT(10, 6)
longitude FLOAT(10, 6)
La query:
SELECT *
FROM `table`
WHERE `latitude` BETWEEN 47.926930 AND 47.929806
AND `longitude` BETWEEN -97.077303 AND -97.083997
Se mi cade la clausola BETWEEN
per longitude
ottengo risultati, anche se non corretta senza longitude
vincolo.
Ho provato questo:
AND -`longitude` BETWEEN ABS(-97.077303) AND ABS(-97.083997)
che fa il lavoro, ma solo per i negativi longitude
valori.
Devo controllare longitude
se è negativo?
Quando si utilizza BETWEEN si dovrebbe avere prima il valore più basso e il secondo valore più alto. -98.083997 è inferiore a -97.077303, quindi scambia l'ordine dei due nella clausola BETWEEN. – scwagner
Ah si, qualcosa di semplice e ovvio come al solito. Grazie! A volte hai solo bisogno di un altro paio di occhi. Questa sarebbe una soluzione accettabile? 'SELECT * FROM tabella DOVE latitudine TRA MENO (47,926,93 mila, 47,929,806 mila) e più grande (47,926,93 mila, 47,929,806 mila) E longitudine TRA MENO (-97,077303, -97,083997) e più grande (-97,077303, -97,083997)' – hungerstar