在我的Oracle数据库中,我有一个DATE
列,其中存储日期值。
所有日期值均位于TimeZone Europe/Berlin
中。现在,应用程序将其TimeZone更改为UTC
,这意味着我需要将所有现有日期从Europe/Berlin
转换为UTC
。
有没有办法在Oracle中本地执行此操作?
答案 0 :(得分:2)
使用FROM_TZ( timestampvalue, timezone )
将时间戳转换为特定时区的时间戳,然后您可以使用AT TIME ZONE 'UTC'
将其转换为UTC时区并将其转换回日期:
SELECT CAST(
FROM_TZ(
CAST( your_column AS TIMESTAMP ),
'Europe/Berlin'
)
AT TIME ZONE 'UTC'
AS DATE
)
FROM your_table;