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
FLOATDOUBLEDOUBLE PRECISION, ouDECIMALpeuvent faire partie de laPRIMARY KEY. -
DOUBLEetDOUBLE PRECISIONsont des alias. -
non_integer_floating_point_literalest utilisé pour les valeurs des typesFLOATDOUBLEetDOUBLE PRECISION. - La
non_integer_fixed_point_literalest 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
DECIMALsoulèvera une erreur pour les valeurs spécialesNaNInfinityet-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
.