我正在使用这个 sql 查询:
select sysdate, sysdate - INTERVAL '6' month from dual;
但它返回:ORA-01839:指定月份的日期无效。
这很奇怪,因为如果我将数字更改为 9,它会返回日期(sysdate = 31/05/11,减去的是 31/08/10)。我也尝试使用不同的值:1、3、6、8、11 也不起作用,但 2、4、5、7、9、12 正在工作。
从数字来看,我认为这是因为生成的 quert 该月没有 31 天。这是预期的行为吗?因为在 MySQL 中,我可以使用查询 (select now() - Interval 6 Month;) 来获取正确的值。还有其他方法吗?
我正在使用 Oracle 11.1.0.6