Help wanted!
The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.
Descripción del producto
Los tipos son equivalentes a los tipos de C:
Float32
-float
Float64
-double
Le recomendamos que almacene los datos en formato entero siempre que sea posible. Por ejemplo, convierta números de precisión fija en valores enteros, como importes monetarios o tiempos de carga de página en milisegundos.
Uso de números de punto flotante
- Los cálculos con números de punto flotante pueden producir un error de redondeo.
SELECT 1 - 0.9
┌───────minus(1, 0.9)─┐
│ 0.09999999999999998 │
└─────────────────────┘
- El resultado del cálculo depende del método de cálculo (el tipo de procesador y la arquitectura del sistema informático).
- Los cálculos de puntos flotantes pueden dar como resultado números como el infinito (
Inf
) y “not-a-number” (NaN
). Esto debe tenerse en cuenta al procesar los resultados de los cálculos. - Al analizar números de punto flotante a partir de texto, el resultado puede no ser el número representable por máquina más cercano.
NaN y Inf
A diferencia de SQL estándar, ClickHouse admite las siguientes categorías de números de punto flotante:
Inf
– Infinity.
SELECT 0.5 / 0
┌─divide(0.5, 0)─┐
│ inf │
└────────────────┘
-Inf
– Negative infinity.
SELECT -0.5 / 0
┌─divide(-0.5, 0)─┐
│ -inf │
└─────────────────┘
NaN
– Not a number.
SELECT 0 / 0
┌─divide(0, 0)─┐
│ nan │
└──────────────┘
See the rules for `NaN` sorting in the section [ORDER BY clause](../sql_reference/statements/select/order-by.md).