ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド
リリース6.0
B25770-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

算術演算での数値型

単項算術演算のデータ型は、TINYINTデータ型に適用される否定演算子を除いて、引数のデータ型と同じです。TINYINTは符号なしのため、TINYINTを否定するデータ型はSMALLINTになります。

2項数値の算術演算でのデータ型は、次のように決まります。

科学表記法で表現される浮動小数点定数のデータ型はDOUBLEです。固定小数点の表記法で表現される定数のデータ型はDECIMALです。たとえば値1は、科学表記法では1.0E+00、DECIMALの固定小数点の表記法では1.0と表現できます。

DECIMALおよびREALデータ型を含む式では、DECIMALはREALに変換されます。REALおよびDOUBLEデータ型を含む式では、REALはDOUBLEに変換されます。

次に、データ型の変換によって発生する可能性がある問題の例を示します。

CREATE TABLE T (C REAL);
INSERT INTO T VALUES (0.1);

SELECT C * 1.0 FROM T /* REAL * DECIMAL */
< .1000000 >

SELECT C * 1.0E+00 FROM T /* REAL * DOUBLE */
< .100000001490116 >

注意: REAL*DOUBLEの例には、REAL列の精度の制限が示されています。REALの書式では値0.1を正確に表現できないため、DOUBLEとは若干異なる値になります。