NORMALIZE_DECFLOAT

NORMALIZE_DECFLOAT 関数は、最も単純な形式に設定された入力引数と等しい DECFLOAT 値を返します。

構文図を読む構文図をスキップする
>>-NORMALIZE_DECFLOAT--(--expression--)------------------------><

NORMALIZE_DECFLOAT 関数は、最も単純な形式に設定された入力引数と等しい 10 進浮動小数点値を返します。つまり、係数内で後続ゼロを持つゼロ以外の数値では、それらのゼロは除去されます。 この場合、係数を適切な 10 のべき乗で除算し、指数を適宜調整することにより、数値を正規形で表す必要があります。 ゼロの値ではその指数は 0 に設定されます。

expression
任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数のデータ・タイプが SMALLINT、INTEGER、REAL、DOUBLE、DECIMAL(p,s) (p <=16)、または NUMERIC(p,s) (p <=16) の場合、引数は処理を行うために DECFLOAT(16) に変換されます。これ以外の場合、引数は処理を行うために DECFLOAT(34) に変換されます。

引数が特殊値の場合は、算術演算の一般的な規則が適用されます。 詳しくは、DECFLOAT の一般的な算術演算規則を参照してください。

この関数の結果は、10 進浮動小数点への変換後の expression のデータ・タイプが DECFLOAT(16) の値である場合は DECFLOAT(16) になります。そうでない場合、この関数の結果は DECFLOAT(34) の値になります。引数が NULL になる可能性がある場合は、結果も NULL になる可能性があります。 引数が NULL の場合は、結果は NULL 値になります。

以下の例に、さまざまな DECFLOAT 値で NORMALIZE_DECFLOAT 関数を使用した結果を示します。

 NORMALIZE_DECFLOAT(DECFLOAT(2.1))          =   2.1
 NORMALIZE_DECFLOAT(DECFLOAT(-2.0))         =  -2
 NORMALIZE_DECFLOAT(DECFLOAT(1.200))        =   1.2
 NORMALIZE_DECFLOAT(DECFLOAT(-120))         =  -1.2E+2
 NORMALIZE_DECFLOAT(DECFLOAT(120.00))       =   1.2E+2
 NORMALIZE_DECFLOAT(DECFLOAT(0.00))         =   0
 NORMALIZE_DECFLOAT(-NAN)                   =   -NAN
 NORMALIZE_DECFLOAT(-INFINITY)              =   -INFINITY