文档解释
ORA-30086: interval year-month result not allowed for datetime subtraction
Cause: An attempt was made to specify interval year to month as the result of datetime subtraction.
Action: This is not allowed currently due to unclear specification in SQL Standards for this interval type. Change the interval type to interval day to second and resubmit statement.
ORA-30086 错误指示Oracle数据库无法在DATETIME类型之间执行减法,应以INTERVAL YEAR-MONTH结果形式指定。
官方解释
该错误表明,在DateTime类型之间执行减法时,不能使用INTERVAL YEAR-MONTH进行指定,必须指定INTERVAL DAY-SECOND类型。
常见案例
SELECT date1 – date2IntervalYearToMonth
FROM TableName;
一般处理方法及步骤
1. 修改查询语句,将 IntervalYearToMonth 替换为 IntervalDayToSecond;
2. 重新执行查询,看是否能够解决该问题;
3. 如果依然无法解决,则检查表中的字段数据类型,确保满足执行该操作的类型要求;
4. 如果仍然出现该错误,则可能是软件版本出现BUG,可以尝试升级数据库软件版本。