La gestion des dates peut poser des problèmes selon les formats paramétrés sur le serveur Oracle (en général par défaut le format est DD-MON-YY). La solution la plus rigoureuse consiste à utiliser la fonction de conversion TO_DATE.
TO_DATE('20021130','YYYYMMDD')
équivaut à 30-NOV-2002.
INSERT INTO Project (Num, Name, Begin, End)
VALUES (1, 'Walking on the moon', TO_DATE('20150401','YYYYMMDD'), TO_DATE('20160401','YYYYMMDD');
Les paramètres de type fm
pour format mask (fmday
, fmDay
, fmDAY
, fmMonth
...) permettent de supprimer les zéros et espaces.
Ils sont à privilégier en général :
TO_CHAR(date,'day')
retourne 'saturday___'
(avec des espaces à la fin)
TO_CHAR(date,'fmday')
retourne 'saturday'
SELECT pknum, TO_CHAR(debut, 'fmday') FROM tcours;
PKNUM TO_CHAR(DEBUT,'FMDAY')
----- ----------------------
1 monday
2 tuesday
INSERT INTO tCours (pkannee, pknum, titre, type, debut, fkintervenant)
VALUES ('2003', tCoursSeq.NEXTVAL, 'Relationnel','C', TO_DATE('08-01-2001','DD-MM-YYYY'), 'CROZAT');
SELECT debut FROM tCours;
DEBUT
---------
01-JAN-01
02-JAN-01
08-JAN-01