Bonjour tout le monde,

Sur une base en 8i, j'ai fait par hasard les tests suivants en sachant pertinamment que, d'après la doc (10g), lorsque l'on spécifie HH24 alors l'heure doit être comprise entre 0 et 23 :

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
22
23
24
25
8i ALEX> select to_date(-1, 'HH24')
  2  from dual;
select to_date(-1, 'HH24')
               *
ERROR à la ligne 1 :
ORA-01850: hour must be between 0 and 23
 
 
8i ALEX> select to_date('30/07/06 -1', 'DD/MM/RR HH24')
  2  from dual;
 
TO_DATE('30/07/06-1
-------------------
30/07/2006 01:00:00
 
1 ligne sélectionnée.
 
8i ALEX> select to_char( to_date('30/07/06 -1', 'DD/MM/RR HH24') , 'DD/MM/RR HH24')
  2  from dual;
 
TO_CHAR(TO_
-----------
30/07/06 01
 
1 ligne sélectionnée.
Je ne peux pas expliquer pourquoi la 2ème instruction :
- ne génère pas un message d'erreur comme la précédente
- retourne une heure égale à 1

Pouvez-vous m'éclairer ?