SET CURRENT DECFLOAT ROUNDING MODE ステートメント
SET CURRENT DECFLOAT ROUNDING MODE ステートメントは、指定の丸めモードが、現在 CURRENT DECFLOAT ROUNDING MODE 特殊レジスターに対して設定されている値であることを検査します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 このステートメントは、動的に作成できる実行可能ステートメントです。
許可
必要ありません。
構文
説明
- ROUND_CEILING
- 値を正の無限大の方向に丸めます。 廃棄されたすべての桁がゼロであるか、符号が負の場合、(廃棄された桁の除去以外は) 結果は変わりません。 そうでない場合、結果の係数は 1 だけ増分されます。
- ROUND_DOWN
- 値を 0 の方向に丸めます (切り捨て)。 廃棄された桁は無視されます。
- ROUND_FLOOR
- 値を負の無限大の方向に丸めます。 廃棄されたすべての桁がゼロであるか、符号が正の場合、(廃棄された桁の除去以外は) 結果は変わりません。 そうでない場合、符号は負であり、結果の係数は 1 だけ増分されます。
- ROUND_HALF_EVEN
- 値を最も近い値に丸めます。 最も近い値がそれぞれ等距離の場合、最終の数字が偶数になるように丸めます。 廃棄される数字が、左隣り桁の数の値の 2 分の 1 より大きい場合、結果の係数は 1 だけ増分されます。2 分の 1 より小さい場合、結果の係数は調整されません (つまり、廃棄される桁は無視されます)。 そうでない場合、結果の係数は、その右端の数字が偶数の場合は変更されず、右端の数字が奇数の場合は 1 だけ増分されます (偶数にされる)。
- ROUND_HALF_UP
- 値を最も近い値に丸めます。 最も近い値がそれぞれ等距離の場合、値を切り上げます。 廃棄される数字が、左隣り桁の数の値の 2 分の 1 より大きい場合、結果の係数は 1 だけ増分されます。そうでない場合、廃棄される桁は無視されます。
- string-constant
- 末尾ブランクの除去後に 15 バイトを超えない文字ストリング定数。 値は、5 つの丸めモード・キーワードの 1 つを指定する左寄せストリングでなければなりません (大/小文字を区別しない)。
- host-variable
- タイプ CHAR または VARCHAR の変数です。 ホスト変数の値は、5 つの丸めモード・キーワードの 1 つを指定する左寄せストリングでなければなりません (大/小文字を区別しない)。 host-variable の内容の実際の長さは、末尾ブランクの除去後に 15 バイトを超えてはなりません。 固定長文字ホスト変数を使用する場合は、値の右側をブランクで埋め込まなければなりません。 ホスト変数は NULL 値に設定することはできません。
規則
- 指定の丸めモード値は、CURRENT DECFLOAT ROUNDING MODE 特殊レジスターの値と同じでなければなりません (SQLSTATE 42815)。
例
以下のステートメントは、クライアントの指定の丸めモード値が、現在サーバー上で設定されている丸めモード値と一致することを検査します。
SET CURRENT DECFLOAT ROUNDING MODE = ROUND_CEILING