Non esiste davvero un formato di data predefinito per il prodotto, il guida di riferimento
afferma che l'impostazione predefinita per NLS_DATE_FORMAT
a livello di sistema si basa su NLS_TERRITORY
. Sebbene questo
dice che lo "standard" è "DD-MON-RR", e penso che sia quello che ottieni se non specifichi un valore a livello di database, almeno sulle piattaforme su cui ho lavorato.
Quando crei un nuovo database, i parametri di inizializzazione possono includere uno specifico NLS_DATE_FORMAT
, e anche questo può essere modificato in seguito.
Ma il NLS_DATE_FORMAT
a livello di sistema può essere sovrascritto dal client, dalla sessione o in un TO_CHAR
chiamata. Puoi cercare in v$nls_parameters
per vedere il valore di sistema e nls_session_parameters
per vedere il valore della tua sessione corrente. Puoi cambiarlo con alter session
se vuoi.
Sono abbastanza sicuro che scoprirai che lo sviluppatore PL/SQL sta impostando la sessione NLS_DATE_FORMAT
a MM/DD/YYYY
da qualche parte nelle sue preferenze.
In genere è meglio non fare affidamento su quel valore e utilizzare sempre una maschera di formato esplicito per la visualizzazione, ad es. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS')
.
C'è altro su NLS_DATE_FORMAT
nella guida alla globalizzazione qui
e qui
; e un po' di visualizzazione della data qui
; e una panoramica degli elementi del modello di formato data qui