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 :

conversion char -> float


Sujet :

SQL Oracle

  1. #21
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par divail
    Ok mais si je n'utilise pas le to_char et que je fais un to_number de ',89 ' (avec des espaces) j'obtiens une erreur oracle.
    utilise trim(ton-champ) pour supprimer les espaces, c'est quand meme plus adapté....

  2. #22
    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
    ouais, ok, tu peux faire un rtrim

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select to_number(rtrim(',78     '),
    '999999999999999D9999999999999999','NLS_NUMERIC_CHARACTERS='',.''') montant 
     from dual;
       MONTANT
    ----------
           .78

  3. #23
    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
    Par défaut
    Citation Envoyé par divail
    Le problème c'est que ce sont les variables NLS_LANGUAGE and NLS_TERRITORY qui sont en cause. Or celles-ci ne peuvent pas être utilisées dans les fonctions SQL...(seulement par exemple via ALTER SESSION SET NLS_LANGUAGE = FRENCH NLS_TERRITORY = FRANCE
    Avec la 10gR2, TO_CHAR permet de spécifier le language à utiliser pour la date. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL> select sysdate from dual;
     
    SYSDATE                                                                         
    ---------                                                                       
    30-AUG-06                                                                       
     
    SQL> select to_char(sysdate, 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=FRENCH') from dual;
     
    TO_CHAR(SYSDA                                                                   
    -------------                                                                   
    30-AOÛT -2006                                                                   
     
    SQL> exit

  4. #24
    Membre confirmé Avatar de divail
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Par défaut
    J'ai donc utilisé pour la création de ma vue le modèle suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select to_number(rtrim(',78     '), '999999999999999D9999999999999999','NLS_NUMERIC_CHARACTERS='',.''') montant 
     from dual;
    rtrim-> pour enlever les espaces causés par le champ de type char(16) récupéré
    NLS_NUMERIC_CHARACTERS-> pour gérer le NLS CHARACTER SET différent selon les clients oracle.
    Cela marche ainsi sur les différents postes.
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Conversion de char en float
    Par mansgueg dans le forum C++
    Réponses: 2
    Dernier message: 08/03/2011, 12h56
  2. conversion char wide char
    Par ep31 dans le forum MFC
    Réponses: 4
    Dernier message: 15/11/2005, 08h14
  3. Pb Invalid Conversion "char" to "char*"
    Par kazarn dans le forum C++
    Réponses: 3
    Dernier message: 02/03/2005, 13h24
  4. Conversion char * vers wchar_t
    Par Zapan dans le forum C++
    Réponses: 4
    Dernier message: 24/02/2005, 15h56
  5. Réponses: 3
    Dernier message: 26/05/2004, 23h03

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