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

SQL Procédural MySQL Discussion :

Arguments des types float, int ?


Sujet :

SQL Procédural MySQL

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut Arguments des types float, int ?
    Bonjour,

    Je ne comprends pas bien les arguments des types float, int etc dans mysql.
    Lors de la création d'une table j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    price FLOAT(5,2) not null, reference INT(10) not null, 
    ...
    mais lorsque j'essais d'insérer les nombres:

    12.48 (note: apparement mysql n'accepte pas de virgule)
    et
    1234567899

    mysql m'affiche une erreur disant qu'il doit tronquer je sais pas quoi...bref

    dans mon idée FLOAT(5,2) devrait pouvoir afficher
    5 chiffres avant la virgule et 2 aprés: 55555,22
    et INT(10) devrait pouvoir afficher
    un nombre à 10 chiffres: 1234567899

    Est ce que quelqu'un pourrait m'éclairer sur ces arguments et
    sur la façon de s'en servir ?

    Merci d'avance

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    un petit peu de lecture qui devrait t'éclairer :
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 497
    Points : 6 074
    Points
    6 074
    Par défaut
    Citation Envoyé par tintin72
    Bonjour,

    Je ne comprends pas bien les arguments des types float, int etc dans mysql.
    Lors de la création d'une table j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    price FLOAT(5,2) not null, reference INT(10) not null, 
    ...
    mais lorsque j'essais d'insérer les nombres:

    12.48 (note: apparement mysql n'accepte pas de virgule)
    et
    1234567899

    mysql m'affiche une erreur disant qu'il doit tronquer je sais pas quoi...bref

    dans mon idée FLOAT(5,2) devrait pouvoir afficher
    5 chiffres avant la virgule et 2 aprés: 55555,22
    et INT(10) devrait pouvoir afficher
    un nombre à 10 chiffres: 1234567899

    Est ce que quelqu'un pourrait m'éclairer sur ces arguments et
    sur la façon de s'en servir ?

    Merci d'avance
    Tu auras des explications ici. Il n'affiche pas spécialement x chiffre parce que tu as indiqué x. Il y a une intervalle de valeur acceptées.

  4. #4
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    En fait c'est à cause de l'octet utilisé pour le signe.
    Comme je n'ai pas indiqué UNSIGNED lors de la création de la table,
    mysql a donc utilisé 1 octet pour "signer" la valeur.
    ce qui fait que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    reference INT(10) NOT NULL,
    affiche 9 chiffres et:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    price FLOAT(5,2) NOT NULL,
    affiche 1 chiffre aprés la virgule.

    En indiquant UNSIGNED, l'affichage correspond bien à ce qui est attendu.

    Voilà, je pense que c'est l'explication et c'est ce que j'ai cru comprendre
    sur la page.
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html
    Maintenant, si jamais je faisais fausse route n'hésitez pas à me le faire savoir .

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

Discussions similaires

  1. [Datatype] limite des types float, double et decimal
    Par yolepro dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 27/03/2013, 10h41
  2. Réponses: 2
    Dernier message: 22/05/2008, 23h23
  3. Ecrire dans champ texte des valeurs de type float seulement
    Par aliomrani1 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 02/03/2007, 11h27
  4. Réponses: 1
    Dernier message: 22/11/2006, 17h38
  5. argument de main de type float
    Par booby dans le forum C
    Réponses: 3
    Dernier message: 14/04/2006, 14h34

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