今天在查詢一個報表的時候 ,報以下錯誤
(完整)年份值必須介於 -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) )