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 Oracle Discussion :

Transformation to number


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut Transformation to number
    Bonjour ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select to_number(12345678.123456789,'99999999.999999999')  from dual;
    ramène
    12345678,1234568
    au lieu de
    12345678.123456789
    pourquoi ?
    merci.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    C'est juste un problème de paramétrage d'affichage de l'outil que vous utilisez.
    Par ailleurs to_number prend un varchar en 1er paramètre :
    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
    SQL> SELECT to_number('12345678.123456789','99999999.999999999')  FROM dual;
     
    TO_NUMBER('12345678.123456789','99999999.999999999')
    ----------------------------------------------------
                                              12345678,1
     
    SQL> show numwidth
    numwidth 10
    SQL> set numwidth 16
    SQL> SELECT to_number('12345678.123456789','99999999.999999999')  FROM dual;
     
    TO_NUMBER('12345678.123456789','99999999.999999999')
    ----------------------------------------------------
                                        12345678,1234568
     
    SQL> set numwidth 38
    SQL> SELECT to_number('12345678.123456789','99999999.999999999')  FROM dual;
     
    TO_NUMBER('12345678.123456789','99999999.999999999')
    ----------------------------------------------------
                                      12345678,123456789
     
    SQL>

  3. #3
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Par défaut
    Bonjour,

    Cet ordre ne ramène ni 12345678.123456789 ni 12345678,123456789. Cet ordre ramène un nombre qui est affiché 12345678.123456789 ou 12345678,123456789 selon que les variables d'environnement définissent le point ou la virgule comme séparateur décimal.

    Vous pouvez changer ce comportement pour la session en cours avec l'ordre suivant (ou en modifiant le paramétrage de votre client pour le faire à chaque session):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '. ' ;
    (attention à bien mettre l'espace après le point)

    Mais comme je l'ai dit, cela ne change que l'affichage.

Discussions similaires

  1. Transformer variable de type object en Number ?
    Par gueud dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 20/03/2010, 11h04
  2. [Tableaux] Transformer "Entity Name" en "Entity Number"
    Par maximenet dans le forum Langage
    Réponses: 9
    Dernier message: 26/04/2006, 21h40
  3. Réponses: 7
    Dernier message: 02/03/2006, 13h43
  4. transformer un jour en JJ/MM/AA
    Par gemini_010 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 08/11/2002, 22h55
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 16h35

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