Oracle SQL如何将时区字符串转换为日期

时间:2015-06-18 07:43:00

标签: sql oracle oracle11g

我有2015-06-17T00:00:00.000+05:00字符串。 我想使用oracle sql将此字符串转换为Date。 我尝试了很多格式掩码,但没有一个适用于我:

SELECT TO_DATE('2015-06-17T00:00:00.000+05:00','yyyy-mm-dd HH24:MI:SS TZR') FROM DUAL;

任何想法我应该申请上述转换的格式掩码。 另请注意,我只需要日期信息,(mm-dd-yyyy)。因此,如果转换仅导致日期信息(即跳过时间信息)

,也可以

2 个答案:

答案 0 :(得分:2)

这应该有效:

SELECT TO_DATE(SUBSTR('2015-06-17T00:00:00.000+05:00',1,10),'yyyy-mm-dd') from dual

答案 1 :(得分:2)

如果你需要跟踪时区,你应该看看这样的事情:

SELECT CAST(TO_TIMESTAMP_TZ('2015-06-17T00:00:00.000+05:00','yyyy-mm-dd"T"HH24:MI:SS.FFTZH:TZM') AT TIME ZONE 'UTC' AS DATE) FROM DUAL;