Non-integer
Synopsis
Utilizar os tipos de dados não-inteiros (ponto flutuante e ponto fixo) para especificar números não-inteiros. Os diferentes tipos de dados de ponto flutuante representam números de precisão diferentes.
Data type | Description | Decimal precision |
---|---|---|
FLOAT |
Inexacto 32-bit floating point number | 7 |
Inexact 64-bit floating point number | 15 | |
Arbitrary-precision number | no upper-bound |
Syntax
Where
- Colunas do tipo
FLOAT
DOUBLE
DOUBLE PRECISION
, ouDECIMAL
pode fazer parte doPRIMARY KEY
. -
DOUBLE
eDOUBLE PRECISION
são pseudónimos. -
non_integer_floating_point_literal
é utilizado para valores deFLOAT
DOUBLE
eDOUBLE PRECISION
tipos. -
non_integer_fixed_point_literal
é utilizado para valores deDECIMAL
tipo.
Semântica
- Valores de diferentes tipos de dados de ponto flutuante e de ponto fixo são comparáveis e convertíveis uns aos outros.
- Conversão dos tipos de pontos flutuantes em
DECIMAL
irá levantar um erro para os valores especiaisNaN
Infinity
, e-Infinity
.
-Infinity
, todos os valores negativos em ordem, todos os valores positivos em ordem, Infinity
, e NaN
.Exemplos
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);
Integers literals também podem ser usadas (Usando a semântica de cima para cima para actualizar um nãofila existente).
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
Veja também
- Tipos de dados