Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2007, 14h30   #1
Futur Membre du Club
 
Emilie Dorchies
Inscription : décembre 2004
Messages : 45
Détails du profil
Informations personnelles :
Nom : Emilie Dorchies

Informations forums :
Inscription : décembre 2004
Messages : 45
Points : 19
Points : 19
Envoyer un message via MSN à Cofondinde
Par défaut ORA-01722: soustraction de date avec des nvl

BOnjour à tous,

Lors du calcul d'une difference de date j'obtiens l'erreur ORA-01722. Ma requete est la suivante :
Code :
1
2
 
nvl(nvl(trim(a.AR_DT_END_SG), g.datfinrmb), k.datfinrmb) - nvl(trim(a.AR_DT_START_SG),b.datemi))
J'utilise Oracle 9.2.07. Je n'ai pas trouvé de réponse à mon problème sur les forums.

Pourriez-vous svp m'indiquer une ou des solutions pour contourner ce problème ??

Merci d'avance,

Emile
Cofondinde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 14h36   #2
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
salut,
ce ne sont que des champs de type date ?
si oui la fonction TRIM n'a rien à y faire...
TRIM est uniquement un fonction de manipulation de caractères (CHAR, VARCHAR2, etc...)
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 14h43   #3
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
Explication de l'erreur 1722

Citation:
ORA-01722 invalid number


Cause: The attempted conversion of a character string to a number failed because the character string was not a valid numeric literal. Only numeric fields or character fields containing numeric data may be used in arithmetic functions or expressions. Only numeric fields may be added to or subtracted from dates.

Action: Check the character strings in the function or expression. Check that they contain only numbers, a sign, a decimal point, and the character "E" or "e" and retry the operation.
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 14h44   #4
Futur Membre du Club
 
Emilie Dorchies
Inscription : décembre 2004
Messages : 45
Détails du profil
Informations personnelles :
Nom : Emilie Dorchies

Informations forums :
Inscription : décembre 2004
Messages : 45
Points : 19
Points : 19
Envoyer un message via MSN à Cofondinde
Salut,

Oui, ce sont bien uniquement des champs de type date. Et après test, cela fonctionen en enlevant le trim.

C'est fou comme les erreurs sont bêtes quand on les a trouvées ...

Merci de ta réactivité
Cofondinde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h12.


 
 
 
 
Partenaires

Hébergement Web