No enteros
Sinopsis
Utiliza los tipos de datos no enteros (punto flotante y punto fijo) para especificar números no enteros. Diferentes tipos de datos de punto flotante representan diferentes números de precisión.
Tipo de datos | Descripción | Precisión decimal |
---|---|---|
FLOAT |
Número de punto flotante anexo de 32 bitsbit de punto flotante | 7 |
DOUBLE |
Inexact 64-bits en coma flotante | 15 |
DECIMAL |
Número de precisión arbitraria | sin límite superiorlímite |
Sintaxis
Donde
- Columnas de tipo
FLOAT
DOUBLE
DOUBLE PRECISION
, oDECIMAL
pueden formar parte delPRIMARY KEY
. -
DOUBLE
yDOUBLE PRECISION
son alias. -
non_integer_floating_point_literal
se utiliza para valores de tipoFLOAT
DOUBLE
yDOUBLE PRECISION
. -
non_integer_fixed_point_literal
se utiliza para valores de tipoDECIMAL
.
Semántica
- Los valores de diferentes tipos de datos de punto flotante y punto fijo son comparables y convertibles entre sí.
- La conversión de los tipos de punto flotante en
DECIMAL
generará un error para los valores especialesNaN
Infinity
, y-Infinity
.
- La conversión de los tipos de punto flotante en
- Los valores de los tipos de datos numéricos no enteros no son comparables ni convertibles a enteros aunque los enteros son convertibles a ellos.
- La ordenación para los valores especiales de punto flotante se define como (en orden ascendente):
-Infinity
, todos los valores negativos en orden, todos los valores positivos en orden,Infinity
, yNaN
.
Ejemplos
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);
También se pueden utilizar los literales de los integradores (utilizando la semántica upsert para actualizar una fila noexistente).
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
Ver también
- Tipos de datos