構文

用途
TO_BINARY_DOUBLEは、倍精度の浮動小数点数を戻します。
exprには、文字列か、またはNUMBER、BINARY_FLOATまたはBINARY_DOUBLE型の数値を指定できます。exprがBINARY_DOUBLEの場合、このファンクションはexprを戻します。
オプションの'fmt'引数および'nlsparam'引数はexprが文字列の場合にのみ有効です。これらの引数は、TO_CHAR(数値)ファンクションの場合と同じ用途に使用されます。
文字列'INF'(大/小文字は区別されない)は、正の無限大に変換されます。
文字列'-INF'(大/小文字は区別されない)は、負の無限大に変換されます。
文字列'NaN'(大/小文字は区別されない)は、NaN(非数値)に変換されます。
expr文字列には、浮動小数点数の書式要素(F、f、Dまたはd)は使用できません。
文字列またはNUMBERからBINARY_DOUBLEへの変換は、正確に行われない場合があります。これは、NUMBERおよび文字列型では10進精度、BINARY_DOUBLEでは2進精度を使用して数値を表現するためです。
BINARY_FLOATからBINARY_DOUBLEへの変換は正確に行われます。
例
次の例では、それぞれ異なる数値データ型の3つの列を持つ次の表を使用します。
CREATE TABLE float_point_demo (dec_num NUMBER(10,2), bin_double BINARY_DOUBLE, bin_float BINARY_FLOAT); INSERT INTO float_point_demo VALUES (1234.56,1234.56,1234.56); SELECT * FROM float_point_demo; DEC_NUM BIN_DOUBLE BIN_FLOAT ---------- ---------- ---------- 1234.56 1.235E+003 1.235E+003
次の例では、NUMBERデータ型の値をBINARY_DOUBLEデータ型の値に変換します。
SELECT dec_num, TO_BINARY_DOUBLE(dec_num) FROM float_point_demo; DEC_NUM TO_BINARY_DOUBLE(DEC_NUM) ---------- ------------------------- 1234.56 1.235E+003
次の例では、dec_num列およびbin_double列から抽出されたダンプ情報を比較します。
SELECT DUMP(dec_num) "Decimal", DUMP(bin_double) "Double" FROM float_point_demo; Decimal Double --------------------------- --------------------------------------------- Typ=2 Len=4: 194,13,35,57 Typ=101 Len=8: 192,147,74,61,112,163,215,10