Bonjour tout le monde,

Je me résous à demander de l'aide parce que là, je commence a être un peu perdu.
Je voudrais interroger une base de donnée Oracle à l'aide de lignes de commande.
Ma requete est la suivante :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select ..., TO_DATE(SUBSTR(TO_CHAR(MIN(LAUNCH_BEGIN_DATE)),1,18),'DD-MON-RR HH24.MIN.SS') PLANIF, ...
FROM LANCEMENT...
WHERE ... ;
Et j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select ... , TO_DATE(SUBSTR(TO_CHAR(MIN(LAUNCH_BEGIN_DATE)),1,18),'DD-MON-RR HH24.MIN.SS') PLANIF,
                                                                                                       *
ERROR at line 1:
ORA-01821: date format not recognized
J'utilise la fonction substring car sans cela la date retournée est de la forme DD-MON-RR HH24.MIN.SS,000000

Sans la fonction TO_DATE ma chaine de caractere n'est pas considéré comme une date.
Les variables suivantes sont définit dans mon script qui appelle le programme sqlplus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
NLS_LANGUAGE=ENGLISH
NLS_DATE_LANGUAGE=ENGLISH
NLS_DATE_FORMAT='DD-MON-YYYY HH24.MI.SS'
J'ai mis english car lorsque je fais afficher le résultat de la fonction SUBSTR j'obtiens des dates de la forme 01-JAN..., 03-FEB...

Bref, comment m'en sortir pour obtenir une date+heure en sortie de cette requete.
Je suis un peu perdu avec toutes les variables NLS_*, je n'ai pas beaucoup (du tout) de vécu avec Oracle.

Merci d'avance

Merci d'avance