Отметка времени в Oracle - это момент времени. Таким образом, нет никакого формата, сохраненного с данными. Когда вы извлекаете данные из столбца метки времени, они по умолчанию отображаются в формате, заданном вашей NLS_TIMESTAMP_FORMAT или NLS_TIMESTAMP_TZ_FORMAT переменной сеанса.
Вы всегда можете использовать определенный формат с to_char
:
SQL> SELECT to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss.ff3') my_ts FROM dual;
MY_TS
-----------------------------
2011-08-22 14:38:48.351
Вы также можете установить новое значение по умолчанию для вашей сессии с помощью:
SQL> ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh24:mi:ss.ff3';
Session altered
SQL> select systimestamp from dual;
SYSTIMESTAMP
-------------------------------------------------
2011-08-22 14:42:23.776