Articles

非整数

概要

非整数の数値を指定するには、非整数(浮動小数点および固定小数点)データ型を使用します。 異なる浮動小数点データ型は異なる精度の数値を表します。

ivbound

データ型 説明 10進数の精度
FLOAT Inexact 32-ビットの浮動小数点数 7
DOUBLE Inexact 64-?ビットの浮動小数点数 15
DECIMAL 任意精度の数値 上限なし

Syntax

Where

  • FLOATDOUBLEDOUBLE PRECISIONDECIMALPRIMARY KEYの一部とすることができます。
  • DOUBLEDOUBLE PRECISION はエイリアスです。
  • non_integer_floating_point_literalFLOATDOUBLEDOUBLE PRECISIONのタイプの値に使われます。
  • non_integer_fixed_point_literalDECIMAL タイプの値に使用されます。

セマンティクス

  • 異なる浮動小数点および固定小数点データタイプの値は、互いに比較可能であり、変換可能です。
    • 浮動小数点型からDECIMALNaNInfinity-Infinityに対してエラーが発生します。
  • 非整数の数値データ型の値は、整数には変換できるが、整数には比較も変換もできません。
  • 特殊な浮動小数点値の順序は、(昇順)として定義されています。 -InfinityInfinityNaNとなります。

例題

ycqlsh:example> CREATE TABLE sensor_data (sensor_id INT PRIMARY KEY, float_val FLOAT, dbl_val DOUBLE, dec_val DECIMAL);
ycqlsh:example> INSERT INTO sensor_data(sensor_id, float_val, dbl_val, dec_val) VALUES (1, 321.0456789, 321.0456789, 321.0456789);

整数リテラルも使用することができます (upsert セマンティクスを使用して、存在しない行を更新する)。存在しない行を更新する upsert セマンティクスの使用)。

ycqlsh:example> UPDATE sensor_data SET float_val = 1, dbl_val = 1, dec_val = 1 WHERE sensor_id = 2;
ycqlsh:example> SELECT * FROM sensor_data;
 sensor_id | float_val | dbl_val | dec_val-----------+-----------+-----------+------------- 2 | 1 | 1 | 1 1 | 321.04568 | 321.04568 | 321.0456789

See also

  • データタイプ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です