'12-JUN-87'
n'est pas une date, c'est une chaîne littérale.
Si vous souhaitez générer une date à insérer dans un tableau, vous devez soit :
- Utilisez un littéral de date ANSI
:
DATE '1987-06-12'
- Ou, explicitement, convertissez un littéral de chaîne en un jour
:
TO_DATE( '12-JUN-87', 'DD-MON-YY', 'NLS_DATE_LANGUAGE = American' )
Si vous essayez d'utiliser un littéral de chaîne comme date, alors Oracle essaiera de le convertir implicitement en date en utilisant le NLS_DATE_FORMAT
paramètre de session comme masque de format. Si ce masque de format ne correspond pas au format de la chaîne, une exception sera générée.
Remarque :les paramètres de session peuvent être modifiés par l'utilisateur et peuvent être différents pour chaque utilisateur. Vous ne devez donc pas vous fier à cette valeur par défaut.