NANVL
構文
目的
NANVLファンクションは、浮動小数点数のタイプがBINARY_FLOATまたはBINARY_DOUBLEの場合にのみ便利です。このファンクションは、入力値n2がNaN(非数値)の場合は代替値n1を戻すようにOracle Databaseに指示します。n2がNaNでない場合、Oracleはn2を戻します。
このファンクションは、引数として、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を取ります。Oracleは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。
例
「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