今天在查询一个报表的时候 ,报以下错误
(完整)年份值必须介于 -4713 和+9999之间,且不为0
oracle标准对于时间支持的有效范围是 -4713/1/1 至 9999/12/31,若时间格式超出此范围,则会报错。
经查
是由于代码中写了
nvl(fnd_conc_date.string_to_date(parameter),
nvl(validity_period,
SYSDATE) + 1)
而 validity_period 有人填写了最大值为9999/12/31,
正确的写法应该是
nvl(fnd_conc_date.string_to_date(parameter),
nvl(validity_period,
SYSDATE+1) )