Articles

Non-integer

Synopsis

Gebruik de niet-integer data types (floating-point en fixed-point) om niet-integer getallen aan te geven. Verschillende floating point data types staan voor verschillende precisie getallen.

Datatatype Beschrijving Decimale precisie
FLOAT Inexact 32-bit drijvend komma getal 7
DOUBLE Inexact 64-bit floating point getal 15
DECIMAL Arbitrair-precisie getal geen boven-bound

Syntax

Waar

  • Kolommen van het type FLOATDOUBLEDOUBLE PRECISION, of DECIMAL kunnen onderdeel zijn van de PRIMARY KEY.
  • DOUBLE en DOUBLE PRECISION zijn aliassen.
  • non_integer_floating_point_literal wordt gebruikt voor waarden van FLOATDOUBLE en DOUBLE PRECISION types.
  • non_integer_fixed_point_literal wordt gebruikt voor waarden van het type DECIMAL.

Semantiek

  • Waarden van verschillende floating-point en fixed-point gegevenstypen zijn vergelijkbaar en onderling converteerbaar.
    • Conversie van floating-point-types naar DECIMAL zal een fout opleveren voor de speciale waarden NaNInfinity, en -Infinity.
  • Waarden van numerieke gegevenstypen die geen gehele getallen zijn, zijn niet vergelijkbaar met of converteerbaar naar gehele getallen, hoewel gehele getallen er wel naar converteerbaar zijn.
  • De volgorde voor speciale floating-point waarden is gedefinieerd als (in oplopende volgorde): -Infinity, alle negatieve waarden in volgorde, alle positieve waarden in volgorde, Infinity, en NaN.

Voorbeelden

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

Integers literals kunnen ook worden gebruikt (met behulp van upsert semantiek om een nietbestaande rij).

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

Zie ook

  • Gegevensoorten

Laat een antwoord achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *