Oracle
 sql >> Database >  >> RDS >> Oracle

Formato data Oracle

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