プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

TO_BINARY_DOUBLE

構文

to_binary_double.gifの説明が続きます。
図「to_binary_double.gif」の説明

用途

TO_BINARY_DOUBLEは、倍精度の浮動小数点数を戻します。

expr文字列には、浮動小数点数の書式要素(FfDまたはd)は使用できません。

文字列またはNUMBERからBINARY_DOUBLEへの変換は、正確に行われない場合があります。これは、NUMBERおよび文字列型では10進精度、BINARY_DOUBLEでは2進精度を使用して数値を表現するためです。

BINARY_FLOATからBINARY_DOUBLEへの変換は正確に行われます。


関連項目:

「TO_CHAR(数値)」および「浮動小数点数」を参照してください。

次の例では、それぞれ異なる数値データ型の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