前回のSYSDATEの他、 以下の関数が定義されています。
- FIRST_DAY_OF_MONTH() →当月の初日(1日)
- LAST_DAY_OF_MONTH() →当月の末日
- FIRST_DAY_OF_YEAR() →当年の初日(1月1日)
- LAST_DAY_OF_YEAR() →当年の末日(12月31日)
{$FIRST_DAY_OF_MONTH() - 1$}
残念ながら、一般的な月次バッチで有用となる「前月の初日」を指定する方法は今のところ無いようです(以下の元ネタURL参照)。このあたり、製品仕様の詰めが甘いです。
前月初日~末日でのデータ処理を行う場合には、パラメータで「FIRST_DAY_OF_MONTH()-1」のみを受け渡し、レポートのSQLで当該パラメータを trunc({パラメータ}, 'MONTH')することで対応するのが現状での解となりそうです。
元ネタ:
http://forums.oracle.com/forums/thread.jspa?threadID=1086737
マニュアル(新機能ガイド)はこちら:
http://download.oracle.com/docs/cd/E17159_01/doc/bi.1013/b54796/toc.htm#BABGDEAC
[ Summary ]
Not only SYSDATE, BIP provides several date functions such as FIRST_DAY_OF_MONTH.
Unfortunately, there are no FIRST_DAY_OF_PREVIOUS_MONTH so far.
Unfortunately, there are no FIRST_DAY_OF_PREVIOUS_MONTH so far.
Workaround: use "FIRST_DAY_OF_MONTH()-1" (the last day of previous month), and somehow get "trunc({parameter}, 'MONTH')" in the report/batch side.
0 件のコメント:
コメントを投稿