Non entiers
Synopsis
Utiliser les types de données non entières (à virgule flottante et à virgule fixe) pour spécifier des nombres non entiers. Les différents types de données en virgule flottante représentent des nombres de précision différente.
Type de données | Description | Précision décimale | |
---|---|---|---|
FLOAT |
Inexact 32-bit | 7 | |
DOUBLE |
Inexact 64-bit | 15 | |
DECIMAL |
Nombre à précision arbitraire | pas de limite supérieure | . |
Syntaxe
Où
- Colonnes de type
FLOAT
DOUBLE
DOUBLE PRECISION
, ouDECIMAL
peuvent faire partie de laPRIMARY KEY
. -
DOUBLE
etDOUBLE PRECISION
sont des alias. -
non_integer_floating_point_literal
est utilisé pour les valeurs des typesFLOAT
DOUBLE
etDOUBLE PRECISION
. - La
non_integer_fixed_point_literal
est utilisée pour les valeurs de typeDECIMAL
.
Sémantique
- Les valeurs des différents types de données en virgule flottante et en virgule fixe sont comparables et convertibles entre elles.
- La conversion de types à virgule flottante en
DECIMAL
soulèvera une erreur pour les valeurs spécialesNaN
Infinity
et-Infinity
.
- La conversion de types à virgule flottante en
- L’ordre pour les valeurs spéciales à virgule flottante est défini comme suit (par ordre croissant) :
-Infinity
, toutes les valeurs négatives dans l’ordre, toutes les valeurs positives dans l’ordre,Infinity
, etNaN
.
Les valeurs des types de données numériques non entiers ne sont ni comparables ni convertibles en entiers bien que les entiers soient convertibles en eux.
Exemples
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);
On peut également utiliser des littéraux entiers (Utilisation de la sémantique upsert pour mettre à jour une ligne nonexistante).
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
Voir aussi
- Types de données
.