2016-05-30 3 views

ответ

2

Я просто побежал select systimestamp from dual; в разработчика SQL на моей машине, он ответил 30-MAY-16 12.49.28.279000000 PM -05:00. На -05: 00 показано смещение временной зоны (5 часов позади UTC, по существу, на 5 часов позади GMT без корректировок на летнее время, выполненное в GMT). Это показывает часовой пояс сервера базы данных.

Затем я запустил select current_timestamp from dual; и получил: 30-MAY-16 12.54.17.762000000 PM AMERICA/CHICAGO, который на самом деле является тем же часовым поясом (но в другом формате - это зависит от настроек, которые у меня есть). Я получаю тот же результат, потому что мой «сервер» находится на моем личном ноутбуке, который также является «клиентом». В общем случае компонентом часового пояса из этого запроса будет часовой пояс «локальный» или «клиентский» или «сеанс», тогда как первый запрос (с помощью systimestamp) дает часовой пояс «сервер» или «база данных».

0

TIMESTAMP WITH LOCAL TIME ZONE не хранит информацию о часовом поясе внутри, но вы можете увидеть локальную информацию о часовом поясе в выводе SQL, если указаны элементы формата TZH: TZM или TZR TZD.

Попробуйте это:

select TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') from dual