2012-04-10 4 views
1

Я использую это выражение преобразовать дату в формате UTC к его США/Восточное время эквивалента:Oracle местный часовой пояс

CAST((FROM_TZ(CAST(date_field AS TIMESTAMP),'+00:00') AT TIME ZONE 'US/Eastern') AS DATE) DATE_FIELD_ET 

Я надеялся использовать более общее выражение для приведения значения к местному времени :

CAST((FROM_TZ(CAST(note_time AS TIMESTAMP),'+00:00') AT LOCAL TIME ZONE) AS DATE) DATE_FIELD_LOCAL 

Но этот синтаксис не работает.

Есть ли способ сделать это?

ответ

0

Вы можете использовать DBTIMEZONE.

CAST((FROM_TZ(CAST(date_field AS TIMESTAMP),'+00:00') AT TIME ZONE DBTIMEZONE) AS DATE) DATE_FIELD_ET 
+0

Я предполагаю, что это автоматически отрегулирует переход на летнее время. Я прав? – craig

+0

Вы спрашиваете: если часовой пояс базы данных в отношении летнего времени, будет ли код по-прежнему работать? (Просто уточняю.) – Alex

+0

Да, это то, о чем я прошу. – craig

Смежные вопросы