如下LINK所示,
我尝试将我的字符串'Tue May 24 20:11:20 GMT+05:30 2011'
转换为oracle中的日期
select TO_TIMESTAMP_TZ('Tue May 24 20:11:20 GMT+05:30 2011', 'DY MON DD HH24:MI:SS TZDTZH:TZM YYYY') from dual;
但它引发了错误
ORA-01857: not a valid time zone
01857. 00000 - "not a valid time zone"
请指导我如何在日期转换中使用GMT
区域名称进行转换。
答案 0 :(得分:0)
我不认为GMT在这里有任何意义。因为,+ 5:30总是意味着它相对于GMT,你可以从你的字符串中删除GMT然后转换。
SELECT TO_TIMESTAMP_TZ (
REPLACE ('Tue May 24 20:11:20 GMT+05:30 2011', 'GMT'),
'DY MON DD HH24:MI:SS TZH:TZM YYYY')
FROM DUAL;
或者,
您也可以将GMT放在双引号中。
SELECT TO_TIMESTAMP_TZ (
'Tue May 24 20:11:20 GMT+05:30 2011',
'DY MON DD HH24:MI:SS "GMT"TZH:TZM YYYY')
FROM DUAL;