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

Administration Oracle Discussion :

Gestion des décimales excédentaires


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2006
    Messages : 142
    Par défaut Gestion des décimales excédentaires
    Bonjour,

    Lors d'une insertion dans un NUMBER(10,3) à partir d'un calcul fait dans du PL*SQL nous avons remarqué des comportements différents suivant la version d'Oracle pour la gestion des décimales excédentaires :

    - dans la base en 9i il est fait un ROUND
    - dans la base en 11g il est fait un TRUNC

    Ceci est apparemment gênant pour le client. Est-il possible de faire modifier ce comportement général ou est il nécessaire de modifier le code pour y forcer le ROUND ?

    Merci.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Idéalement il faut modifier le code pour être certain de ce qui se fait

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Par défaut Pas tout a fait !
    Ce n'est pas un TRUNC par contre. Il arrondi au plus proche. (10.2.0.5 & 11.2.0.1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    TMP@minilhc >select trunc(1.1114,3), trunc(2.1116,3) from dual;
     
    TRUNC(1.1114,3) TRUNC(2.1116,3)
    --------------- ---------------
              1.111           2.111
     
    TMP@minilhc >create table tmp (n number(10,3));
     
    Table created.
     
    TMP@minilhc >insert into tmp values(1.1114);
     
    1 row created.
     
    TMP@minilhc >insert into tmp values(2.1116);
     
    1 row created.
     
    TMP@minilhc >select * from tmp;
     
             N
    ----------
         1.111
         2.112

  4. #4
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    Hello,

    Si tu modifie ton code et si tu est en 11g autre que R2, il y a un patch pour corriger un bug suite au round.

    Il se produit dans certains cas.

    Je tacherai de te retrouver le n°de bug et les détails du bug.

    Jko

Discussions similaires

  1. Gestion des décimales
    Par thipyt dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/01/2011, 19h02
  2. Champ de fusion CALCUL, gestion des décimales
    Par ValPhi dans le forum Word
    Réponses: 9
    Dernier message: 02/10/2008, 20h10
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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