如何将PDT / PST时间转换为oracle标准格式?

时间:2014-05-26 09:36:13

标签: sql plsql oracle11g

我有一个要求。必须转换下面格式的日期

Fri Dec 7 15:14:31 PDT 2007

使用sql / plsql

到oracle标准格式(DD-MON-YY)

先谢谢。

1 个答案:

答案 0 :(得分:1)

我们可以使用TO_TIMESTAMP_TZ函数将字符串转换为时间戳数据类型。因为你有一个复杂的字符串,你必须确保你正确的格式掩码(find out more)。

select to_timestamp_tz (
     'Fri Dec 7 15:14:31 PDT 2007'
     , 'Dy Mon DD HH24:MI:SS TZD YYYY' ) as ts
from dual
/

如果要将其存储在日期列中,Oracle将隐式处理转换,或者您可以选择显式....

cast (to_timestamp_tz (
     'Fri Dec 7 15:14:31 PDT 2007'
     , 'Dy Mon DD HH24:MI:SS TZD YYYY' ) 
     as date )  

如果只是关于显示,请使用带有所需掩码的时间戳的TO_CHAR函数'DD-MON-YYYY'。