Распространенным заблуждением является то, что DBTIMEZONE
является часовым поясом для SYSDATE
, а SYSTIMESTAMP
SYSDATE
и SYSTIMESTAMP
возвращаются в часовом поясе операционной системы, в которой база данныхСервер находится.
DBTIMEZONE
- это (внутренний) часовой пояс значений TIMESTAMP WITH LOCAL TIME
.Я не знаю практического использования этого.Обратите внимание, что вы не можете изменить DBTIMEZONE
в своей базе данных, если база данных содержит таблицу со столбцом TIMESTAMP WITH LOCAL TIME ZONE
, а столбец содержит данные.
Если вы хотите, чтобы текущее время в DBTIMEZONE выполнялось
select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE
from dual;
CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE
также работает.
См. Также Как работать с дневным светом в базе данных Oracle