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

 Firebird Discussion :

Precision Type Numeric


Sujet :

Firebird

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Precision Type Numeric
    Bonjour. Il y a quelque chose que je ne comprends pas du tout avec le type numeric de Firebird. Selon ce que j'en ai lu, une definition NUMERIC(4,2) devrait accepter un nombre du genre 99.77

    Pour une raison qui m'échappe, en utilisant FlameRobin je peux entrer dans le champ la valeur 326.77 mais pas la valeur 327.77 Dans ce cas j'obtient un arithmetic overflow SQL error -303.

    À ce que je sache 326.77 est du type NUMERIC(5,2) Comment fonctionne vraiment le NUMERIC? Pourquoi ce comportement? Comment ce fait-il que je puisse inscrire la valeur 326.77 dans un NUMERIC(4,2)?

    Merci de votre aide.

  2. #2
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 574
    Points
    574
    Par défaut
    En fait Firebird stock les valeurs de type Numeric en interne comme des entiers, comme un SMALLINT pour une précision de 1 a 4, un INTEGER pour une précision de 5 a 9 et un BIGINT pour une précision de 10 a 18.
    Donc pour un type Numeric (4,2), en interne Firebird stock cette valeur comme un SMALLINT dont les limites sont entre -32 768 et +32 767; ce qui nous donne un numeric dans les limites sont dans la fourchette : -327.68 et +327.67.
    Si vous êtes libre, choisissez le Logiciel Libre.

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

Discussions similaires

  1. SQL Server 05 invalid data for type numeric
    Par Moine dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 12/04/2011, 12h08
  2. Instruction Case pour type numeric
    Par GreatDeveloperOnizuka dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/12/2007, 10h36
  3. type numeric de SQL Server
    Par stidy dans le forum C#
    Réponses: 3
    Dernier message: 03/12/2007, 16h40
  4. Réponses: 1
    Dernier message: 12/07/2007, 15h30
  5. Passer de DOUBLE PRECISION en NUMERIC
    Par alex4 dans le forum SQL
    Réponses: 5
    Dernier message: 18/10/2004, 16h24

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