これはおそらくそれほど複雑ではありませんが、Business Objects は、SQL Developer に対して型の使用方法が非常に厳密であるようです。問題の声明の一部は次のとおりです。
ship_date between '01' || '-' || w_current_ora_month || '-' || to_char(to_date(w_last_day, 'DD-MON-RR HH:MI:SS AM'), 'yy') and to_char(to_date(w_last_day, 'DD-MON-RR HH:MI:SS AM'))
w_current_ora_month VARCHAR2(3) は次の方法で入力されます。
SELECT to_char(sysdate, 'MON')
INTO w_current_ora_month
FROM dual;
w.last_day DATE は次の方法で入力されます。
SELECT trunc(LAST_DAY('01' || '-' || w_current_ora_month || '-' || to_char(w_year)))
into w_last_day
from dual
Business Objects からプルするときに Not Valid Month エラーが発生するのはなぜですか? ビジネスオブジェクトが型に対してかなり厳密であることはすでにわかっているので、ここで何か間違ったことをしているのだろうかと思っています。これらはすべて SQL 開発者では正常に機能しますが、Business Objects で使用するときに機能するようにするには、このステートメントを何度も微調整する必要がありました。