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
FLOAT
DOUBLE
DOUBLE PRECISION
, ofDECIMAL
kunnen onderdeel zijn van dePRIMARY KEY
. -
DOUBLE
enDOUBLE PRECISION
zijn aliassen. -
non_integer_floating_point_literal
wordt gebruikt voor waarden vanFLOAT
DOUBLE
enDOUBLE PRECISION
types. -
non_integer_fixed_point_literal
wordt gebruikt voor waarden van het typeDECIMAL
.
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 waardenNaN
Infinity
, en-Infinity
.
- Conversie van floating-point-types naar
- 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
, enNaN
.
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