Articles

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 FLOATDOUBLEDOUBLE PRECISION, o DECIMAL pueden formar parte del PRIMARY KEY.
  • DOUBLE y DOUBLE PRECISION son alias.
  • non_integer_floating_point_literal se utiliza para valores de tipo FLOATDOUBLE y DOUBLE PRECISION.
  • non_integer_fixed_point_literal se utiliza para valores de tipo DECIMAL.

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 especiales NaNInfinity, y -Infinity.
  • 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, y NaN.

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

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *