Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    [MySQL] Problema in query e gestione numeri

    Ciao a tutti ho una query che utilizza una funzione per ritornare la distanza


    SELECT POI . * , GetDistance(
    POI.Latitude, POI.Longitude, '45', '10', 'km'
    ) AS Distance
    FROM POI
    WHERE ....
    POI.Latitude, POI.Longitude, '', '', 'km'
    ) <= '10000'

    Perchè quando Distance = 94.23 (per esempio) e metto nel WHERE <= 100 (WHERE <= '100') non funziona? Devo quindi usare nu valore più grande (esempio 100000)

    Cosa sbaglio??

    Tutti i valori ritornati hanno distance

    98.3242
    94.232
    etc...


    Grazie

  2. #2
    se riporta un numero devi usare

    where risultato < 100

    e non

    where risultato < '100'

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Mi sembrava di averlo scritto, comunque ribadisco

    ho il problema sia con WHERE <= 100

    sia con WHERE <= '100'

  4. #4
    puoi postare *tutta* la query?

  5. #5
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Ci sarebbe da chiarire la query che hai proposto
    codice:
    SELECT POI . * , GetDistance(
    POI.Latitude, POI.Longitude, '45', '10', 'km'
     ) AS Distance
     FROM POI
     WHERE ....
     POI.Latitude, POI.Longitude, '', '', 'km'
     ) <= '10000'
    Manca una parentesi di apertura,e poi,in Mysql i numeri sono trattati in modo particolare,nel caso tuo specifico,nella struttura della tabella penso che avrai messo
    nel campo interessato(immagino float) il totale delle cifre,cioè vale a dire(per esempio):
    99,4234 sono in totale(tralasciando la virgola)6 cifre,2 per gli interi e 4 per i decimali,quindi,con il beneficio del dubbio,devi trattare i numeri nello stesso modo
    se ci deve essere la precisione al millimetro,in alternativa,prima di passare il valore
    di confronto alla query dovrai convertirlo in INTEGER.
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    372
    non conosco la funzione, ma non potrebbe che tiri fuori non in intero ma in stringa? se è stringa 9 è maggiore di 10...

  7. #7
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Quale funzione?
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  8. #8
    Originariamente inviato da Valeria75_bis
    Mi sembrava di averlo scritto, comunque ribadisco

    ho il problema sia con WHERE <= 100

    sia con WHERE <= '100'
    guarda questo esempio di calcolo della distanza con mysql:

    http://www.imranulhoque.com/mysql/my...using-latlong/

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Non capisco perchè alle mie domande venga risposto altro!

    GetDistance è una mia funzione ad hoc, e funziona correttamente... come rimostra il risultato nel campo select

    Ho problemi nella WHERE

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Nessun aiutino??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.