Articles

Nicht-ganzzahlig

Synopse

Mit den nicht-ganzzahligen Datentypen (Fließkomma und Festkomma) können Sie nicht-ganzzahlige Zahlen angeben. Verschiedene Fließkomma-Datentypen repräsentieren unterschiedliche Präzisionszahlen.

Datentyp Beschreibung Dezimalgenauigkeit
FLOAT Inexakte 32-Bit-Gleitkommazahl 7
DOUBLE Inexakt 64-Bit-Gleitkommazahl 15
DECIMAL Beliebige Präzisionszahl keine Ober-Grenze

Syntax

Wo

  • Spalten vom Typ FLOATDOUBLEDOUBLE PRECISION, oder DECIMAL können Teil des PRIMARY KEY sein.
  • DOUBLE und DOUBLE PRECISION sind Aliasnamen.
  • non_integer_floating_point_literal wird für Werte der Typen FLOATDOUBLE und DOUBLE PRECISION verwendet.
  • non_integer_fixed_point_literal wird für Werte vom Typ DECIMAL verwendet.

Semantik

  • Werte verschiedener Gleitkomma- und Festkomma-Datentypen sind vergleichbar und ineinander konvertierbar.
    • Die Konvertierung von Fließkomma-Typen in DECIMAL führt bei den Sonderwerten NaNInfinity und -Infinity zu einem Fehler.
  • Werte von nicht-ganzzahligen numerischen Datentypen sind weder vergleichbar noch konvertierbar in Integer, obwohl Integer in sie konvertierbar sind.
  • Die Reihenfolge für spezielle Fließkommawerte ist wie folgt definiert (in aufsteigender Reihenfolge): -Infinity, alle negativen Werte in Reihenfolge, alle positiven Werte in Reihenfolge, Infinity und NaN.

Beispiele

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);

Integer-Literale können auch verwendet werden (mit Upsert-Semantik zum Aktualisieren einer nichtexistierende Zeile).

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

Siehe auch

  • Datentypen

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.