IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Problème de comparaison


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Par défaut Problème de comparaison
    Bonjour,

    Dans ma table j'ai une colonne valeurFloat, avec comme par exemple les valeurs :
    0.1
    0.2
    0.5
    0.6
    Lorsque dans ma requête je fais valeurFloat <= 0.6 j'ai toutes les valeurs retournés sauf 0.6 !
    Je ne comprend pas pourquoi?

    Edit: ha et quand je fais = 0.6 la requête ne me retourne rien...

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    C'est parce que FLOAT correspond à nombre à virgule flottante. Ce qui signifie que, en base, il y a de forte chance pour que 0.6 soit plutôt stocké comme 0.60000001 ou quelque chose d'approchant. Parfois, c'est stocké sous la forme 0.59999999991... ça flotte !
    La solution consiste à arrondir ta colonne valeurFloat par la fonction ROUND, puis à comparer à 0.6.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Par défaut
    Merci pour ta réponse!
    Je ne savais pas, en faisant une petite recherche la doc Mysql donne quelques info : http://dev.mysql.com/doc/refman/5.0/...ith-float.html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/03/2006, 12h39
  2. Réponses: 11
    Dernier message: 22/03/2006, 21h57
  3. problème de comparaison table dans requète.
    Par Sendo dans le forum Access
    Réponses: 8
    Dernier message: 09/03/2006, 11h10
  4. Problème de comparaison (chez lycos)
    Par Tuscelan dans le forum Langage
    Réponses: 4
    Dernier message: 10/11/2005, 18h13
  5. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 21h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo