DB2 Version 9.7 for Linux, UNIX, and Windows

QUANTIZE スカラー関数

構文図を読む構文図をスキップする
>>-QUANTIZE--(--numeric-expression--,--exp-expression--)-------><

スキーマは SYSIBM です。

QUANTIZE 関数は、値 (丸め以外) において等しく、numeric-expression と符号が等しく、exp-expression の指数と等しい指数を持つ、10 進浮動小数点値を戻します。 桁数 (16 または 34) は、numeric-expression の桁数と同じです。

numeric-expression
組み込み数値データ・タイプの値を戻す式。 引数が 10 進浮動小数点値ではない場合、処理のために DECFLOAT(34) に変換されます。
exp-expression
組み込み数値データ・タイプの値を戻す式。 引数が 10 進浮動小数点値ではない場合、処理のために DECFLOAT(34) に変換されます。exp-expressionnumeric-expression のスケール変更のパターン例として使用されます。 exp-expression の符号および係数は、無視されます。

結果の係数は、numeric-expression の係数から派生します。必要な場合 (指数が増加している場合) には、丸められるか、10 の累乗で乗算されるか (指数が減少している場合)、または変更されないままです (指数が既に exp-expression の指数と等しい場合)。

CURRENT DECFLOAT ROUNDING MODE 特殊レジスターは、丸めモードを決定します。

10 進浮動小数点データ・タイプの他の算術演算とは異なり、量子化演算の後に係数の長さが exp-expression によって指定された精度より大きくなる場合、結果は NaN になり、警告が戻されます (SQLSTATE 0168D)。 これにより、警告条件がない場合には、QUANTIZE の結果の指数は常に exp-expression の指数と等しくなります。

両方の引数が DECFLOAT(16) である場合、関数の結果は DECFLOAT(16) 値になります。そうでない場合には、関数の結果は DECFLOAT(34) 値になります。結果は NULL 値になることがあります。 いずれかの引数が NULL 値である場合、結果は NULL 値になります。

例: