将Oracle 10g中存储的UTC时间转换为本地时间

时间:2015-08-14 00:10:03

标签: oracle datetime timezone oracle10g utc

我有一个varchar2(20)列,其值类似于' 2015-01-26T20:29:51Z'。 我成功将其转换为带有to_date的日期(dEnteredDate,' YYYY-MM-DD" T" HH24:MI:SS" Z"')

我希望通过减去我的SessionTimeZone将其转换为当地时间,当前-07:00并且有一个定时的时间,没有时区信息。

我在MS SQL中使用;

执行此操作
SET @diff = datediff(hh,GetUTCDate(), GetDate());
SET @dlocal = DATEADD(hh, @diff, @UTCDateTime)

如何在Oracle 10g中完成相同的操作?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

select to_timestamp(dEnteredDate,'YYYY-MM-DD"T"HH24:MI:SS"Z"')- interval '7' hour from test_3;

此处- interval '7' hour会减去所需的时差,并在没有时区的情况下为您提供所需的结果。

答案 1 :(得分:0)

你可以这样做

select cast(to_timestamp_TZ(dEnteredDate||' UTC','YYYY-MM-DD"T"HH24:MI:SS"Z" tzr') at local as date) 
from ...