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

Oracle Discussion :

[PL/SQL] [9i] Utilisation de TO_NUMBER(...)


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut [PL/SQL] [9i] Utilisation de TO_NUMBER(...)
    Bonjour,

    Je vous expose ma problématique de conversion :

    En entrée, un varchar de 11 représentant une donnée numérique.
    En sortie, un number(8,2).

    Exemples :
    '00000012315' doit donner 123.15
    '00000000000' doit donner 0
    '00000000100' doit donner 1.00

    J'avais essayé la ligne suivante mais çà ne donne pas le résultat espéré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    p1 := LTRIM(SUBSTR(chaine, 1, 9), '0');
    p2 := SUBSTR(chaine, 10, 2);
    TO_NUMBER(p1 || '.' || p2, '0.99')
    Merci, Fred

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select to_number('00000000100')/100 from dual
    Voyez ensuite pour le format de représentation.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    En fait, j'avais d'abord fait ainsi mais comme je dois également changer le caractère ',' par le '.' pour faire un insert de la donnée ensuite, j'avais commencé par formater la chaîne à l'image du numérique à insérer. Mais je ne sais pas trop pourquoi ça ne fonctionne pas.

    Effectivement ta solution proposée fonctionne mais je ne sais pas ensuite comment mettre le '.' à la place de la ',' dans la zone.

    Fred

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    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
     
     
    SQL> alter session set nls_numeric_characters='. ';
     
    Session modifiée.
     
    SQL> select to_number('0012345')/100 from dual;
     
    TO_NUMBER('0012345')/100
    ------------------------
                      123.45
     
    SQL> select to_number('0012345890')/100 from dual;
     
    TO_NUMBER('0012345890')/100
    ---------------------------
                       123458.9
     
    SQL>

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/08/2006, 15h00
  2. [sql server]utiliser Insert avec une clé auto
    Par nourbane dans le forum ASP
    Réponses: 6
    Dernier message: 18/05/2006, 23h02
  3. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  4. [SQL-SERVER] Utilisation de DEFAULT (valeur par défaut)
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/03/2006, 18h53
  5. [SQL] Pourquoi utilise-t-on encore les fichiers texte?
    Par krimback dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 24/03/2006, 13h44

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