【发布时间】:2016-08-04 23:14:07
【问题描述】:
为什么要通过 SQLDeveloper 执行此查询以连接到我的数据库:
select to_timestamp_tz('05/22/2016 10:18:01 PDT', 'MM/DD/YYYY HH24:MI:SS TZD') from dual;
我收到以下错误:
ORA-01857: "not a valid time zone"
01857. 00000 - "not a valid time zone"
*Cause:
*Action:
但是,我可以直接从数据库所在主机上的sqlplus 执行查询而没有任何错误,得到预期的结果:
TO_TIMESTAMP_TZ('05/22/201610:18:01PDT','MM/DD/YYYYHH24:MI:SSTZD')
---------------------------------------------------------------------------
22-MAY-16 10.18.01.000000000 AM -07:00
所以,我想弄清楚我是否做错了什么。我已经读过这个错误可能是因为一个时区有多个tzabbrev,但这并不能解释为什么在sqlplus上正确运行查询,因为我可以在主机和主机上看到不同时间区域的多个tzabbrev SQLDeveloper(来自v$timezone_names的查询)。
真正的问题是我们的应用程序使用了这个查询,所以我们注意到这个问题有时会重现,即使应用程序部署在与数据库相同的主机上。
【问题讨论】:
标签: timezone oracle-sqldeveloper sqlplus oracle12c