NANVL

構文

目的

NANVLファンクションは、浮動小数点数のタイプがBINARY_FLOATまたはBINARY_DOUBLEの場合にのみ便利です。このファンクションは、入力値n2NaN(非数値)の場合は代替値n1を戻すようにOracle Databaseに指示します。n2NaNでない場合、Oracleはn2を戻します。

このファンクションは、引数として、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を取ります。Oracleは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。

関連項目:

暗黙的な変換の詳細は、表2-9を参照してください。2進浮動小数点の比較セマンティクスの詳細は、「浮動小数点数」を参照してください。数値の優先順位の詳細は、「数値の優先順位」を参照してください

「TO_BINARY_DOUBLE」で作成した表float_point_demoを使用して、表に2つ目のエントリを挿入します。

INSERT INTO float_point_demo
  VALUES (0,'NaN','NaN');

SELECT *
  FROM float_point_demo;

   DEC_NUM BIN_DOUBLE  BIN_FLOAT
---------- ---------- ----------
   1234.56 1.235E+003 1.235E+003
         0        Nan        Nan

次の例では、数値の場合はbin_floatを戻します。それ以外の場合は、0を戻します。

SELECT bin_float, NANVL(bin_float,0)
  FROM float_point_demo;

 BIN_FLOAT NANVL(BIN_FLOAT,0)
---------- ------------------
1.235E+003         1.235E+003
       Nan                  0