Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [SQL* LIKE e =

  1. #1

    [SQL] LIKE e =

    ho una query del tipo

    select count(colonna) FROM tabella where colonna = 999.9

    che da 0 zero

    mentre se uso

    select count(colonna) FROM tabella where colonna LIKE 999.9

    o uso

    select count(colonna) FROM tabella where colonna > 100.0

    mi da il risultato che mi dovrei aspettare

    come mai?
    perche con uguale non funziona?

    ciao a tutti

    Pietro
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

  2. #2
    non è che "colonna" è di tipo varchar invece che double ?

    ciao




    Il mio portale: http://www.cartagodelendaest.it

  3. #3
    la colonna è float(4,1)

    ciao
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

  4. #4
    essendo una condizione di uguaglianza dovresti scrivere "==" e non "="
    prova e fammi sapere

    ciao
    Ginko




    Il mio portale: http://www.cartagodelendaest.it

  5. #5
    in sql mi da errore
    e poi con > funziona solo = non funziona
    non capisco

    ciao
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

  6. #6
    Originariamente inviato da ptransidico
    in sql mi da errore
    e poi con > funziona solo = non funziona
    non capisco

    ciao

    hai provato con "==" ??

  7. #7
    si mi da errore
    ma la cosa strana è che se provo con >999.9 funziona
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

  8. #8
    Originariamente inviato da ptransidico
    si mi da errore
    ma la cosa strana è che se provo con >999.9 funziona
    float considera anche i numeri che non vedi.... e quindi = "deve" essere tale per tutto il valore.

    #

    If you are comparing FLOAT or DOUBLE columns with numbers that have decimals, you can't use equality (=) comparisons. This problem is common in most computer languages because not all floating-point values can be stored with exact precision. In some cases, changing the FLOAT to a DOUBLE fixes this. See Section B.1.5.8, “Problems with Floating-Point Comparisons”.

    Similar problems may be encountered when comparing DECIMAL values prior to MySQL 5.0.3.
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html
    http://dev.mysql.com/doc/refman/5.0/...hing-rows.html

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

  9. #9
    grazie
    quindi è meglio se uso LIKE, vero?

    ciao
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

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 © 2025 vBulletin Solutions, Inc. All rights reserved.