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