'12-JUN-87'
non è una data è una stringa letterale.
Se vuoi generare una data da inserire in una tabella, devi:
- Utilizzare un valore letterale ANSI
:
DATE '1987-06-12'
- Oppure, in modo esplicito, converti una stringa letterale in una data
:
TO_DATE( '12-JUN-87', 'DD-MON-YY', 'NLS_DATE_LANGUAGE = American' )
Se provi a utilizzare una stringa letterale come data, Oracle proverà a convertirla implicitamente in una data utilizzando il NLS_DATE_FORMAT
parametro di sessione come maschera di formato. Se questa maschera di formato non corrisponde al formato della stringa, verrà generata un'eccezione.
Nota:i parametri di sessione possono essere modificati dall'utente e possono essere diversi per ogni utente, quindi non dovresti fare affidamento su questo valore predefinito.