CURRENT DECFLOAT ROUNDING MODE 特殊レジスター

CURRENT DECFLOAT ROUNDING MODE 特殊レジスターは、DECFLOAT 値に使用される丸めモードを指定します。

データ・タイプは VARCHAR(128) です。 以下の丸めモードがサポートされています。
  • ROUND_CEILING は、値を正の無限大の方向に丸めます。 廃棄されたすべての桁がゼロであるか、符号が負の場合、(廃棄された桁の除去以外は) 結果は変わりません。 そうでない場合、結果の係数は 1 だけ増分されます。
  • ROUND_DOWN は、値を 0 の方向に丸めます (切り捨て)。 廃棄された桁は無視されます。
  • ROUND_FLOOR は、値を負の無限大の方向に丸めます。 廃棄されたすべての桁がゼロであるか、符号が正の場合、(廃棄された桁の除去以外は) 結果は変わりません。 そうでない場合、符号は負であり、結果の係数は 1 だけ増分されます。
  • ROUND_HALF_EVEN は、値を最も近い値に丸めます。 最も近い値がそれぞれ等距離の場合、最終の数字が偶数になるように丸めます。 廃棄される数字が、左隣り桁の数の値の 2 分の 1 より大きい場合、結果の係数は 1 だけ増分されます。2 分の 1 より小さい場合、結果の係数は調整されません (つまり、廃棄される桁は無視されます)。 そうでない場合、結果の係数は、その右端の数字が偶数の場合は変更されず、右端の数字が奇数の場合は 1 だけ増分されます (偶数にされます)。
  • ROUND_HALF_UP は、値を最も近い値に丸めます。 最も近い値がそれぞれ等距離の場合、値を切り上げます。 廃棄される数字が、左隣り桁の数の値の 2 分の 1 より大きい場合、結果の係数は 1 だけ増分されます。そうでない場合、廃棄される桁は無視されます。
クライアント上の DECFLOAT 丸めモードの値は、SET CURRENT DECFLOAT ROUNDING MODE ステートメントを呼び出すことで、サーバー上のその値との一致を確認できます。 ただしこのステートメントは、サーバーの丸めモードを変更するために使用することはできません。 CURRENT DECFLOAT ROUNDING MODE の初期値は、decflt_rounding データベース構成パラメーターによって判別され、このデータベース構成パラメーターの値を変更することによってのみ変更できます