Det finns egentligen inget standarddatumformat för produkten, referensguide
anger att standard för NLS_DATE_FORMAT
på systemnivå är baserad på NLS_TERRITORY
. Även om detta
säger att 'standarden' är 'DD-MON-RR', och jag tror att det är vad du får om du inte anger ett värde på databasnivå, åtminstone på de plattformar jag har arbetat på.
När du skapar en ny databas kan initialiseringsparametrarna inkludera en specifik NLS_DATE_FORMAT
, och det kan också ändras senare.
Men systemnivån NLS_DATE_FORMAT
kan åsidosättas av klienten, sessionen eller i en TO_CHAR
ringa upp. Du kan titta i v$nls_parameters
för att se systemvärdet och nls_session_parameters
för att se ditt nuvarande sessionsvärde. Du kan ändra det med alter session
om du vill.
Jag är ganska säker på att du kommer att upptäcka att PL/SQL-utvecklaren ställer in sessionen NLS_DATE_FORMAT
till MM/DD/YYYY
någonstans i dess preferenser.
I allmänhet är det bättre att inte lita på det värdet alls, och alltid använda en explicit formatmask för visning, t.ex. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS')
.
Det finns mer på NLS_DATE_FORMAT
i globaliseringsguiden här
och här
; och lite om datumvisning här
; och en översikt över datumformatmodellelementen här