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

MS SQL Server Discussion :

probleme avec le remplisage d'une table


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 61
    Par défaut probleme avec le remplisage d'une table
    bonjour,
    j'ai un grand probleme qui m'empêche de dormir
    quand j'utilise des petit chiffre (deux chiffres)ca marche, mais dés que que je mais un nombre qu'as plus que trois chiffres ca bug et j'ai ce message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Arithmetic overflow error converting float to data type numeric.
    merci

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Le type FLOAT est un type de données approximatif.
    Donc il n'est pas possible de représenter précisément toutes les valeurs de ce type de données.
    Or, c'est ce que vous tentez de faire en le "transformant" en NUMERIC, qui est un type de donnée dont la précision (nombre de chiffres avant et après la virgule) et l'échelle (nombre de chiffres après la virgule) sont fixes.

    Montrez-nous un exemple, que nous puissions mieux vous aider

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 61
    Par défaut
    pour crée une table j'ai fait ce code;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    create table code
    (
    [Loader Boot_Initial baseline_Size LOC] [float] NULL,
    	[Loader Boot_Last baseline_Size LOC] [float] NULL,
    	[Loader Boot_Change_Size(LOC)Added] [float] NULL,
    	[Loader Boot_Change_Size(LOC)Deleted] [float] NULL,
    	[Loader Boot_Change_Size(LOC)Modified] [float] NULL,
    	[Loader Boot_Change_Size(LOC)Total Change]  AS ((coalesce([Loader Boot_Change_Size(LOC)Added],(0))+coalesce([Loader Boot_Change_Size(LOC)Deleted],(0)))+coalesce([Loader Boot_Change_Size(LOC)Modified],(0))) PERSISTED,
    	[Loader Boot Effort Men*Days] [float] NULL,
    	[Loader Boot Ratio Added+Modified/Days]  AS (CONVERT([decimal](8,2),([Loader Boot_Change_Size(LOC)Added]+[Loader Boot_Change_Size(LOC)Modified])/[Loader Boot Effort Men*Days],(0))) PERSISTED,
    	)
    merci

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonsoir,

    Votre problème vient probablement de la dernière colonne de votre table, lors du calcul de la division de FLOATs que vous transformez en DECIMAL, qui fonctionne comme le type NUMERIC. Pourquoi CASTez-vous ?

    Remarque à part : il est dangereux de nommer les colonnes comme vous l'avez fait

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 61
    Par défaut
    bonjour,
    donc je doix faire quoi je suis bloqué.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Par défaut
    Evite d'utiliser des types de données FLOAT. Utilise dans ta table le type DECIMAL (ou MONEY).

    Si tu fais une comptabilité rien qu'avec des types de données FLOAT, l'actif et le passif ne tombera pas juste quand tu feras le bilan.

Discussions similaires

  1. probleme avec le remplisage d'une table
    Par haymen dans le forum C#
    Réponses: 21
    Dernier message: 13/08/2008, 13h45
  2. Réponses: 5
    Dernier message: 08/04/2008, 09h54
  3. problem avec la recherche d'une valeur dans les table
    Par anilane dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/05/2007, 19h35
  4. MySQL - Probleme avec 2 index sur une table
    Par xG-Hannibal dans le forum Outils
    Réponses: 7
    Dernier message: 31/03/2006, 14h08
  5. Réponses: 8
    Dernier message: 13/08/2004, 12h32

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