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 :

Probleme de requete, clause where et nombre a virgule..


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Probleme de requete, clause where et nombre a virgule..
    Bonjourn j'ai un probleme dans une de mes requetes et je ne sais d'ou ca vient.
    j'ai un table avec des valeurs en "float" ou je fait une requete avec une clause
    WHERE value="3.49"
    (nombre a virgule)
    malgré l'existence de ce nombre, l'entrée n'est pas trouvée

    par contre lorsque je fait
    WHERE value="12"
    (nombre sans virgule)
    l'entrée corespondante est trouvé!!

    D'ou vient le fait qu'il ne trouve pas les nombres à virgule malgré l'existance de ces entrées!!

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Les valeurs des colonnes de type FLOAT ne sont pas stockées de façon exacte en interne (voir http://dev.mysql.com/doc/refman/5.0/en/problems-with-float.html).

    Il faut donc utiliser la fonction ROUND() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM latable WHERE ROUND(lacolonne) = ROUND(3.49)
    ou bien opter pour un type DECIMAL par exemple.
    Pensez au bouton

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Est ce que passer ma colonne float en decimal peut poser des problemes (elle est utilisé en permanence pour un syteme de marché sur un jeu php)

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Normalement non (à part que les valeurs sont tronquées au lieu d'être arrondies lorsque le nombre de décimales dépasse) mais il vaut mieux tester avant
    Pensez au bouton

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    d'acord merci pour ta reponse, je vais tester

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

Discussions similaires

  1. Probleme avec la clause WHERE
    Par funkyjul dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/03/2008, 14h21
  2. [PL/SQL][10g] Probleme sur la clause WHERE
    Par titilleuse dans le forum SQL
    Réponses: 4
    Dernier message: 13/11/2006, 18h52
  3. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  4. Probleme de requete de suppression : clause Where
    Par cnguyen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/05/2006, 18h14
  5. probleme avec le caractere 'Z' dans ma clause WHERE
    Par dibox dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2004, 12h21

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