Salut tout le monde,
J'ai un problème avec la fonction TO_DATE() !!
Quand je lance le script suivant :
Tout marche bien, la ligne 12
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
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;ne sort pas en erreur, par contre, quand je fais la même chose dans mon package, j'ai toujours cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part IF TO_DATE(v_date_1, 'DD/MM') > TO_DATE(v_date_2, 'DD/MM')
<ORA-01861: literal does not match format string>
Mon code dans le package est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Partager