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 du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 44
    Points
    44
    Par défaut Nombre non valide
    Bonjour à tous, j'ai un problème avec ma requête.
    J'obtiens le message d'erreur en objet !
    voici ma requête :
    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
    20
    SELECT 
          d.libel0 as service, 
          p.n_pers as matricule, 
          p.badge as badge, 
          ltrim(rtrim(r.NOM))+' '+ltrim(rtrim(r.PRENOM)) as noms, 
          TO_CHAR(p.d_hist,'AAAA-MM-DD') as ladate, 
          p.h_hist as heure, 
          case p.code 
                when TO_NUMBER('1') then '1 - Demande de contrôle anti-retour'
                when TO_NUMBER('2') then '2 - Acces Autorise'
                when TO_NUMBER('5') then '5 - Acces Non autorisé'
                when TO_NUMBER('27') then '27 - Refuse anti passback en sortie'
                else '0 - Inconnu'
          end as statut
      FROM IDTECH.HIST p
    left join 
    (SELECT * FROM IDTECH.PERS_VIEW) r on r.PERS_OID=p.N_PERS
    left join 
    (SELECT * FROM  IDTECH.DIV) d on (d.N1=r.N_DIV1 AND d.N2=r.N_DIV2 AND d.N3=r.N_DIV3)
    where p.n_lect in (TO_NUMBER('31'),TO_NUMBER('32'))
    Je ne vois pas d'où vient le problème,
    les colonnes pour lesquelles je fais des conversions sont de type NUMBER !

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Ne ressuscitez pas des vieilles discussions; créez une autre!

    Nombre non valide indique qu'une conversion d'une valeur numérique contenu dans une chaines des caractères a échouée. Il y a deux types des conversion: explicites comme To_Number ou implicites comme dans la comparaison d'une colonne de type chaine des caractères avec une valeur numériques.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Where numero_du_compte = 235
    où numero_du_compte est une colonne de type varchar2 et 235 est une constante numérique. Dans ce cas si la colonne numero_du_compte contient la valeur '232A' l'erreur est levée. Cela est également valable si lors de la jointure entre deux tables les colonnes de la jointure ont des types différent entre les deux tables, une varchar l'autre number, et la colonne de type varchar contient au moin une valeur non-numérique.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 44
    Points
    44
    Par défaut
    Merci,
    j'ai retrouvé la source de l'erreur.
    En fait, j'ai pas l'habitude de travailler sous Oracle mais plutôt sous SQL Server.
    Le problème était au niveau de la concaténation (|| sous Oracle au lieu de + sous SQL Server)!

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

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