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