CATOWNERCDRM
- CATOWNERCDRM
- Db2® バージョン 12 (またはそれ以降) のシステムにアクセスする際に使用する、現在の DECFLOAT 丸めモード (CDRM)を指定します。
このオプションは、FM/Db2 が Db2® バージョン 9 以降のシステムに接続される場合にのみ関係します。
CDRM は、DECFLOAT 数を処理する場合は Db2® の動作を参照します。この場合、値の丸めは必須です。詳細については、Db2® のマニュアルを参照してください。
CATOWNER パラメーターを指定して Db2® カタログ表へのアクセスを実装する場合は (つまり、FM/Db2 は、カタログ表に直接ではなく、Db2® カタログ表のビューにアクセスする)、前述の CDRM の制限を考慮する必要があります。以下の操作をお勧めします。
- Db2® カタログ表のすべてのビューを同時に作成して、ビューを作成する前に、必要な CDRM を設定します。CDRM は、次を使用して設定できます。
詳細については、Db2® SQL リファレンス・マニュアルを参照してください。SET CURRENT DECFLOAT ROUNDING MODE = value - CDRM に使用する値は、CATOWNERCDRM パラメーターに指定する必要があります。
- FM/Db2 が複数の Db2® バージョン 9 以降のシステムにアクセスする状況では、すべてのターゲット Db2® サブシステムのカタログ表ビューを作成する際には、同じ CDRM 値を使用します。選択済みの値を CATOWNERCDRM パラメーターに指定します。
CATOWNERCDRM パラメーターが省略されているか指定が正しくないと、FM/Db2 は、Db2® カタログ表のビューへのアクセスを試みる際に使用された CDRM モードを自動検出します。これは、ユーザーが FM/Db2 システムにアクセスするたびに、最大 7 つの SQL ステートメントを Db2® が準備する必要のある、負荷のかかる手続きです。したがって、パフォーマンス上の理由から、CATOWNERCDRM 値が正しく指定されていることを確認することをお勧めします。
FM/Db2 は、Db2® カタログ表の必須ビューが複数の CDRM 値を使用して作成されている場合は、正しく機能しません。
- ROUND_CEILING
- 正の無限大に丸められます。破棄された桁がすべてゼロか、符号が負の場合は、破棄された桁の除去以外の変更はありません。そうでない場合、結果係数は 1 のみ増分されます (切り上げられます)。
- ROUND_DOWN
- 0 に丸められます (切り捨て)。破棄された桁は無視されます。
- ROUND_FLOOR
- 負の無限大に丸められます。破棄された桁がすべてゼロか、符号が正の場合は、破棄された桁の除去以外の変更はありません。そうでない場合、符号は負になり、結果係数は 1 のみ増分されます (切り捨てられます)。
- ROUND_HALF_DOWN
- 最近値に丸められます。値が等距離の場合、切り捨てられます。破棄された桁が次の左位置の数値の半分 (0.5) より大きい値を示す場合、結果係数は 1 のみ増分されます (切り上げられます)。そうでない場合、破棄された桁は無視されます。移植可能アプリケーションを作成する場合は、この丸めモードは推奨しません。それは、浮動小数点演算についての IEEE ドラフト規格でサポートされていないためです。
- ROUND_HALF_EVEN
- 最近値に丸められます。値が等距離の場合、最終桁が偶数になるように丸められます。破棄された桁が次の左位置の数値の半分 (0.5) より大きい値を示す場合、結果係数は 1 のみ増分されます (切り上げられます)。破棄された桁が値の半分より少ない値を示す場合、結果係数は調整されません (つまり、破棄された桁は無視されます)。そうでない場合、結果係数は、右端の桁が偶数であれば変更されず、右端の桁が奇数であれば 1 のみ増分 (切り上げ) されます (偶数にするため)。
- ROUND_HALF_UP
- 最近値に丸められます。値が等距離の場合、切り上げられます。破棄された桁が次の左位置の数値の半分 (0.5) 以上の値を示す場合、結果係数は 1 のみ増分されます (切り上げられます)。そうでない場合、破棄された桁は無視されます。
- ROUND_UP
- 0 から切り捨てられます。破棄された桁がすべてゼロの場合は、破棄された桁の除去以外の変更はありません。そうでない場合、結果係数は 1 のみ増分されます (切り上げられます)。