2016-09-26 123 views
0

如何使用Oracle PL/SQL将UTC转换为本地时间?我的资料提供给我以下信息:在Oracle PL/SQL中将UTC转换为本地时区

<EndDateTime>"2016-09-26T08:00:00Z"</EndDateTime> 

我想将它转换为“柏林”时间。我在这里搜索了一个答案,但找到正确的答案是相当困难的。

+0

您是否从数据提供者获取字符串? – abhi

+0

也是你使用的是什么版本的oracle? – abhi

+0

*我收到一个XML文件 * Oracle版本12.1.0.2 – user2830595

回答

4

类似的东西应该帮助你:

SELECT 
    FROM_TZ(
     CAST(
      TO_DATE('2000-01-01T11:00:00Z','YYYY-MM-DD"T"HH:MI:SS"Z"') AS TIMESTAMP 
     ), 'Greenwich' 
    ) AT TIME ZONE 'Europe/Berlin' 
    as converted_timestamp 
FROM DUAL; 

其中2000-01-01T11:00:00Z是你的日期和'格林威治'是您收到的日期和“欧洲时区/ Berlin'是您想要转换为的时区。

和一些参考文献:onetwothree

+0

非常感谢。有用。 – user2830595

+0

现在你说'UTC','格林威治'有点“旧式”。 –

+0

我们在工作场所仍使用术语“GMT”。 – abhi