Всъщност няма формат за дата по подразбиране за продукта, справочно ръководство
заявява, че по подразбиране за NLS_DATE_FORMAT
на системно ниво се базира на NLS_TERRITORY
. Въпреки че това
казва, че „стандартът“ е „DD-MON-RR“ и мисля, че това е, което получавате, ако не посочите стойност на ниво база данни, поне на платформите, върху които съм работил.
Когато създавате нова база данни, параметрите за инициализация могат да включват конкретен NLS_DATE_FORMAT
и това също може да бъде променено по-късно.
Но NLS_DATE_FORMAT
на ниво система може да бъде заменен от клиента, сесията или в TO_CHAR
повикване. Можете да погледнете в v$nls_parameters
за да видите системната стойност и nls_session_parameters
за да видите стойността на текущата си сесия. Можете да промените това с alter session
ако искате.
Почти съм сигурен, че ще откриете, че PL/SQL разработчикът настройва сесията NLS_DATE_FORMAT
до MM/DD/YYYY
някъде в предпочитанията си.
Като цяло е по-добре изобщо да не разчитате на тази стойност и винаги да използвате изрична маска за формат за показване, напр. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS')
.
Има още на NLS_DATE_FORMAT
в ръководството за глобализация тук
и тук
; и малко относно показването на дата тук
; и общ преглед на елементите на модела на формата за дата тук