ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース7.0
E05176-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

INFおよびNAN

TimesTenでは、IEEE浮動小数点値Inf(正の無限大)、-Inf(負の無限大)およびNaN(非数)がサポートされています。

定数値:

定数値は、浮動小数点定数が許可されている場合に使用できます。次の定数値がサポートされています。

次の例では、BINARY_FLOAT型の列およびTT_INTEGER型の列を含む表を作成します。BINARY_FLOAT_INFINITYおよびBINARY_FLOAT_NANは、BINARY_FLOAT型の列に挿入されます。

Command> CREATE TABLE BfDemo (Id BINARY_FLOAT, Id2 TT_INTEGER);

Command> INSERT INTO BfDemo VALUES (BINARY_FLOAT_INFINITY, 50);

1 row inserted.

Command> INSERT INTO BfDemo VALUES (BINARY_FLOAT_NAN, 100);

1 row inserted.

Command> SELECT * FROM BfDemo;

< INF, 50 >

< NAN, 100 >

2 rows found.

主キーの値

Inf、-InfおよびNaNは、主キーで定義された列で使用できる値です。これは、NULLの動作とは異なります。NULL値は、主キーで定義された列では使用できません。

BINARY_FLOAT列およびBINARY_DOUBLE列には、Inf、-InfおよびNaNの値のみ挿入できます。

InfおよびNaN(浮動小数点の条件)の選択:

浮動小数点の条件によって、式が無限大であるか、演算での未定義の結果(NaNまたは非数)であるかが判別されます。

構文:

Expression IS [NOT] {NAN| INFINITE};

Expression は、数値データ型、または数値データ型に暗黙的に変換可能なデータ型に解決される必要があります。

次の表に、浮動小数点の条件を示します。

条件
処理

IS [NOT] NAN

NOTを指定せずExpression が値NaNの場合、TRUEが返されます。NOTを指定してExpressionが値NaNでない場合、Trueが返されます。

SELECT * FROM BfDemo WHERE Id
IS NOT NAN;


ID, ID2

< INF, 50 >

1 row found.

IS [NOT] INFINITE

NOTを指定せずExpressionが値+INFまたは-INFの場合、TRUEが返されます。NOTを指定してExpressionが値+INFまたは-INFでない場合、Trueが返されます。

SELECT * FROM BfDemo WHERE Id
IS NOT INFINITE;

ID, ID2

< NAN, 100 >

1 row found.


注意: 定数キーワードは、特定のBINARY_FLOAT値およびBINARY_DOUBLE値を表します。比較キーワードは、値のプロパティに対応しており、いずれの型に対しても固有ではありません(ただし、BINARY_FLOAT型、BINARY_DOUBLE型、またはBINARY_FLOATやBINARY_DOUBLEに変換可能な型に対しては、TRUEとしてのみ評価されます)。

InfおよびNaNとの比較

次のルールが適用されます。

照合順序に関しては次のように適用されます。

InfおよびNaNを含む式