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

Langage SQL Discussion :

Select sur des nombre décimaux de format 0.*


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 21
    Points
    21
    Par défaut Select sur des nombre décimaux de format 0.*
    Salut,

    j'ai un problème quand je récupère des nombres dans ma base de données Oracle ...

    En fait j'ai des nombres en base de type 0.* (0.33 par exemple), et le select me retourne .* (.33 dans notre exemple) ! Il a viré le 0 comme ça sans rien me demander ! Or moi ce 0 je le veux, je ne veux pas qu'il me quitte comme cela ! Que dois je faire pour le garder alors ?

    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    TO_CHAR(myNumerb, '09999.99') devrait marcher.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Merci mais cela crée un autre problème :

    au lieu de renvoyer 0.33 il renvoie 00000.33 !

    Après je peux faire TO_CHAR(myNumerb, '0.99') et là ça renvoie bien 0.33 mais j'ai des problèmes avec les autres nombres que je récupère

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    As-tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_CHAR(MyNumber, '9990.99')
    en mettant autant de 9 que tu peux avoir de digits pour MyNumber ?
    Avec ce format j'obtiens :
    0.33 => 0.33
    1230.12 => 1230.12
    125460.33 => ########
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Pas mal du tout merci ! En effet ça renvoie bien les nombres !

    Mais voilà, c'est pas aussi facile que ça, un autre problème surgit ...

    En effet je dois mettre le résultat dans une fichier plat formaté suivant une norme définie du type id|nombre
    Par exemple 34|0.33

    Or là si je fais TO_CHAR(MyNumber, '9990.99')
    J'obtiens 34| 0.33

    Y a 3 espaces qui se sont insérés et qui me gènent fortement

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Y a 3 espaces qui se sont insérés et qui me gènent fortement
    Essaye avec TRIM (xxx) avant de concaténer
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    EXACT !!!

    Merci vous m'avez bien aidé !

    Le code qui marche est donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TRIM(TO_CHAR(ROUND(MyNumber, 2), '9999990.99'))

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 21
    Points
    21
    Par défaut
    Correction !

    J'ai toujours un problème

    En effet ça me renvoit bien 0.33 ou 42.33 par exemple ...

    Mais concernant les nombres entiers (21), ça me renvoit 21.00 !

    Comment enlever les 0 apres la virgule ?

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Le mieux que je puisse te proposer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_CHAR(15112, 'FM99990.99')
    qui donne :
    123.12 => 123.12
    0.12 => 0.12
    12.00 => 12. // il reste le point !

    Demande à un admin de déplacer ton sujet dans le forum ORACLE où il est plus probable qu'une personne sache comment faire.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

Discussions similaires

  1. [LibreOffice][Texte] Changer le format des nombres décimaux
    Par dré kam dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 04/06/2015, 02h01
  2. Format des nombres décimaux
    Par karnass dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2013, 14h13
  3. Comment formater des nombres décimaux ?
    Par Niguilouti dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/11/2009, 16h20
  4. Trier des nombres décimaux au format français
    Par kevinze1 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/08/2008, 18h53
  5. Somme sur des nombre décimaux
    Par chrislauxerrois dans le forum Access
    Réponses: 1
    Dernier message: 01/08/2006, 16h46

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