【发布时间】:2016-06-12 05:36:40
【问题描述】:
我们都知道今天是一个特殊的日子。它是闰年的29th of February 2016。
我们从 Oracle DB 中的某些表中收到错误消息。错误是:Oracle ORA-01839: date not valid for month specified。
例如一个简单的选择出错的地方:select * from table where table_date > sysdate -0.1;
对于其他表,此选择没有问题,只是对于某些表。
有没有办法解决这个问题?因为我们今天不能使用很多表。
我们正在使用Oracle 12c。
【问题讨论】:
-
列
table_date的数据类型是什么? -
@WernfriedDomscheit 这是一个
date -
select table_date from...是否也会出现该错误 - 也许它是在隐式转换中失败的不同列?是表格还是视图(计算某些东西);还是它有一个虚拟列?会话中出现错误的 NLS_DATE_FORMAT 是什么?您是否在特定客户端中看到了这种情况,并且您可以在 SQL*Plus 中重现吗? -
好吧,你浪费了我大部分时间用来解释间隔处理的答案,但很高兴你明白了 *8-) 它是 documented behaviour。
标签: oracle oracle12c leap-year