ORA-01861: literal does not match format string
Salut tout le monde,
J'ai un problème avec la fonction TO_DATE() !!
Quand je lance le script suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| DECLARE
v_date_1 VARCHAR2(5);
v_date_2 VARCHAR2(5);
BEGIN
v_date_1 := TO_CHAR(SYSDATE + 15 , 'DD/MM');
v_date_2 := TO_CHAR(SYSDATE , 'DD/MM');
dbms_output.put_line(v_date_1);
dbms_output.put_line(v_date_2);
IF TO_DATE(v_date_1, 'DD/MM') > TO_DATE(v_date_2, 'DD/MM')
THEN
dbms_output.put_line('YES');
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1, 255));
dbms_output.put_line(dbms_utility.format_error_backtrace);
END; |
Tout marche bien, la ligne 12
Code:
IF TO_DATE(v_date_1, 'DD/MM') > TO_DATE(v_date_2, 'DD/MM')
ne sort pas en erreur, par contre, quand je fais la même chose dans mon package, j'ai toujours cette erreur :
<ORA-01861: literal does not match format string>
Mon code dans le package est:
Code:
1 2 3 4 5 6 7 8 9 10 11
| v_date_1 := TO_CHAR(date_1 , 'DD/MM');
v_date_2 := TO_CHAR(date_2 , 'DD/MM');
IF TO_DATE(v_date_1, 'DD/MM') > TO_DATE(v_date_2, 'DD/MM')
THEN
v_last_date := ADD_MONTHS(date_1, -12);
v_next_date := date_1;
ELSE
v_last_date := date_1;
v_next_date := ADD_MONTHS(date_1, 12);
END IF; |