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 :

Nombre Non Valide


Sujet :

SQL Oracle

  1. #1
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Par défaut Nombre Non Valide
    Bonjour

    J'ai un soucis au niveau de cette select ==> Message ORA-01722: Nombre non valide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT 'O' 
    FROM  DUAL
    WHERE TO_NUMBER(p_parametre1) > TO_NUMBER(p_parametre2);
    Le problème :
    le paramétre p_parametre2 contient (.) comme séparateur décimal, alors que ma base de gère pas ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM v$nls_parameters
    WHERE parameter='NLS_NUMERIC_CHARACTERS';  ==> VALUE  (,) (je ne souhaite pas faire l'update)
    Je tente de me débloquer en remplaçant le Select ci-dessus par celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT 'O' 
    FROM  DUAL
    WHERE TO_NUMBER(p_parametre1) > TO_NUMBER(p_parametre2,'9999999999999D9999999999', 'nls_numeric_characters=.,');
    ----------------------------------
    Cas de test 1 => p_parametre2 = 21500.00 devient 21500 OK
    Cas de test 2 => p_parametre2 = 21500.33 devient 21500.33 OK
    Cas de test 2 => p_parametre2 = 21500,33 devient 2150033 KO

    Aidez moi s'il vous plait à résoudre le dernier point
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 169
    Par défaut
    Bonjour,

    Tu n'as qu'à faire:

    TO_NUMBER(REPLACE(p_parametre2, ',', '.'),'9999999999999D9999999999', 'nls_numeric_characters=.,')

Discussions similaires

  1. ORA-01722: Nombre non valide + sqlloader
    Par damiano84 dans le forum SQL*Loader
    Réponses: 9
    Dernier message: 20/05/2022, 20h09
  2. ORA-01722: Nombre non valide
    Par misa dans le forum Oracle
    Réponses: 4
    Dernier message: 18/12/2007, 15h23
  3. Oracle - Nombre non valide
    Par pado_83 dans le forum JDBC
    Réponses: 2
    Dernier message: 28/09/2006, 15h11
  4. [SQLLDR]ORA-01722: Nombre non valide
    Par syl2095 dans le forum Oracle
    Réponses: 5
    Dernier message: 22/05/2006, 15h42
  5. Réponses: 7
    Dernier message: 07/03/2006, 09h34

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