Vous nous dites que vos deux variables sont de type date.
Il n'est JAMAIS utile de faire un to_date sur un type date.
dans votre cas l'affectation doit se faire soit de la manière suivante
soit (si vous voulez arrondir la data à la journée)
v_DateClo := trunc ( v_Date ) ;
Ensuite, lorsque vous affichez une date vous la convertissez en chaine de caractères :
si vous faites
dbms_ouput.put_line(v_DateClo) ;
C'est la variable de session NLS_DATE_FORMAT qui définira son affichage après une conversion implicite :
1 2 3 4 5 6 7 8 9 10
| SQL> declare
2 v_date date;
3 begin
4 v_date:= sysdate ;
5 dbms_output.put_line(v_date) ;
6 end ;
7 /
10/09/12
Procédure PL/SQL terminée avec succès. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| SQL> alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS' ;
Session modifiTe.
SQL> declare
2 v_date date;
3 begin
4 v_date:= sysdate ;
5 dbms_output.put_line(v_date) ;
6 end ;
7 /
10-SEPT.-2012 09:14:55
Procédure PL/SQL terminée avec succès. |
Si vous souhaitez un affichage différent vous devez spécifier la conversion (de toutes façons pour éviter des erreurs par la suite il est plus que recommandé de le faire)
1 2 3 4 5 6 7 8 9 10
| 1 declare
2 v_date date;
3 begin
4 v_date:= sysdate ;
5 dbms_output.put_line(to_char(v_date, 'DD/MM/YYYY')) ;
6* end ;
SQL> /
10/09/2012
Procédure PL/SQL terminée avec succès. |
Partager