我有一个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中完成相同的操作?
答案 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 ...