Non interi
Sinossi
Usa i tipi di dati non interi (a virgola mobile e a virgola fissa) per specificare numeri non interi. Diversi tipi di dati in virgola mobile rappresentano diversi numeri di precisione.
tipo di dati | descrizione | precisione decimale |
---|---|---|
FLOAT |
Inexact 32-bit in virgola mobile | 7 |
DOUBLE |
Inexact 64-bit in virgola mobile | 15 |
DECIMAL |
Numero a precisione arbitraria | nessun limite superiorebound |
Sintassi
Dove
- Colonne di tipo
FLOAT
DOUBLE
DOUBLE PRECISION
, oDECIMAL
possono essere parte delPRIMARY KEY
. -
DOUBLE
eDOUBLE PRECISION
sono alias. -
non_integer_floating_point_literal
è usato per i valori dei tipiFLOAT
DOUBLE
eDOUBLE PRECISION
. -
non_integer_fixed_point_literal
è usato per i valori di tipoDECIMAL
.
Semantica
- Valori di diversi tipi di dati in virgola mobile e a virgola fissa sono comparabili e convertibili tra loro.
- La conversione da tipi a virgola mobile in
DECIMAL
solleverà un errore per i valori specialiNaN
Infinity
, e-Infinity
.
- La conversione da tipi a virgola mobile in
- I valori dei tipi di dati numerici non interi non sono né comparabili né convertibili in interi, sebbene gli interi siano convertibili in essi.
- L’ordinamento per i valori speciali in virgola mobile è definito come (in ordine crescente):
-Infinity
, tutti i valori negativi in ordine, tutti i valori positivi in ordine,Infinity
, eNaN
.
Esempi
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);
Si possono usare anche letterali interi (usando la semantica upsert per aggiornare una riga nonesistente).
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
Vedi anche
- Tipi di dati