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
FLOATDOUBLEDOUBLE PRECISION, ouDECIMALpode fazer parte doPRIMARY KEY. -
DOUBLEeDOUBLE PRECISIONsão pseudónimos. -
non_integer_floating_point_literalé utilizado para valores deFLOATDOUBLEeDOUBLE PRECISIONtipos. -
non_integer_fixed_point_literalé utilizado para valores deDECIMALtipo.
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
DECIMALirá levantar um erro para os valores especiaisNaNInfinity, 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