oracle的interval用法特例

这里说的这种情况发生在oracle对在现有日期上加N个月后,如果,得出的这个月的最后一天没有现有日期的最后一天,则会出现ora-30089错误。
如:
SQL> select date'2009-01-31' + interval'1'month from dual ;
 
select date'2009-01-31' + interval'1'month from dual
 
ORA-01839: date not valid for month specified

SQL> select date '2009-01-31' + interval'2' month  from dual ;
 
DATE'2009-01-31'+INTERVAL'2'MO
------------------------------
2009-3-31
以上例子显示了该种情况,网上有人说这是bug,不知道Oracle怎么解释的。

请使用浏览器的分享功能分享到微信等