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 :

to_number


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Par défaut to_number
    bonjour,

    J'ai une colonne en varchar qui contient un chiffre à virgule.
    Quand je veux faire un to_number de cette colonne, j'obtiens un invalide number.
    N'est il pas possible d'utiliser un to_number sur un chiffre à virgule?
    Merci pour vos réponses.
    Claire

  2. #2
    Expert confirmé
    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
    Par défaut
    Et bien, justement cela dépend de la virgule...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TO_NUMBER('8.5') FROM dual
    passe, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TO_NUMBER('8,5') FROM dual
    ne passe pas.

    Cela dépend du caratère utilisé comme séparateur ddécimal

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    oui, tu peux aussi préciser le charactère dans ta fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL> select to_number('1,3','9999999999D9999999','NLS_NUMERIC_CHARACTERS='',.''') from dual;                                                                                    
    TO_NUMBER
    1.3

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 65
    Par défaut
    Bonjour
    Voila j'avais le même problème après avoir utilisé la fonction to_number la requête me retourne 100 et 400 alors que a la base ces valeurs sont 1,00 et 4,00 !! comment faire pour avoir 1.00 et 4.00?


    Voici ma raquette si vous pouvez m’aider SVP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT respon2,avg(to_number(N_QUANT,'9999999999D9999999','NLS_NUMERIC_CHARACTERS='',.'''))
    as Qualite,avg(to_number(N_QUAL,'9999999999D9999999','NLS_NUMERIC_CHARACTERS='',.''')) as quantite
     FROM EVALTEAM
    WHERE RESPON ='hamid.khetib' 
     and MOIS ='04' and AN ='2006' group by respon2

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 65
    Par défaut
    c'est bon je divise le résultat par 100 et c'est bon
    salutations


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT respon2,avg(to_number(N_QUANT,'9999999999D9999999','NLS_NUMERIC_CHARACTERS='',.''')) /100
    AS Qualite,avg(to_number(N_QUAL,'9999999999D9999999','NLS_NUMERIC_CHARACTERS='',.''')) /100 AS quantite
     FROM EVALTEAM
    WHERE RESPON ='hamid.khetib' 
     AND MOIS ='04' AND AN ='2006' GROUP BY respon2

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

Discussions similaires

  1. [UDF] Firebird : Fonctions to_char, to_date, to_number
    Par pascal_legrand dans le forum SQL
    Réponses: 3
    Dernier message: 06/03/2011, 22h37
  2. problème avec to_number
    Par midotoon dans le forum SQL
    Réponses: 2
    Dernier message: 19/06/2007, 09h27
  3. [Oracle] comment faire un to_number sur un replace?
    Par keumlebarbare dans le forum Oracle
    Réponses: 8
    Dernier message: 15/04/2007, 12h12
  4. [PL/SQL] [9i] Utilisation de TO_NUMBER(...)
    Par ftrifiro dans le forum Oracle
    Réponses: 3
    Dernier message: 03/05/2006, 11h24
  5. probleme avec to_number sous access
    Par lassmust dans le forum Access
    Réponses: 1
    Dernier message: 01/12/2005, 14h18

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