ApsaraDB for ClickHouse es compatible con los tipos de datos que se enumeran en esta referencia. Para consultar el sistema de tipos completo, consulte Data Types en la documentación de código abierto de ClickHouse.
Tipos de datos compatibles
Enteros
Enteros con signo. Utilice el tipo más pequeño que cubra su rango de valores para minimizar el almacenamiento.
|
Palabra clave |
Rango |
|
|
–128 a 127 |
|
|
–32,768 a 32,767 |
|
|
–2,147,483,648 a 2,147,483,647 |
|
|
–9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
Para enteros sin signo (UInt8, UInt16, UInt32, UInt64), consulte Integer types en la documentación de ClickHouse.
Punto flotante
|
Palabra clave |
Descripción |
|
|
Punto flotante de precisión simple. Equivalente a |
|
|
Punto flotante de precisión doble. Equivalente a |
Para datos financieros o empresariales que requieren cálculos exactos, utiliceDecimalen lugar deFloat32oFloat64. La aritmética de punto flotante puede introducir errores de redondeo.
Decimal
Números de punto fijo con signo que mantienen la precisión en operaciones de suma, resta y multiplicación.
Formatos compatibles: Decimal(P, S), Decimal32(S), Decimal64(S), Decimal128(S).
Cadena
|
Palabra clave |
Descripción |
|
|
Cadena de longitud variable de cualquier tamaño, incluidos bytes nulos. Equivalente a |
|
|
Cadena de longitud fija de exactamente N bytes. Es más eficiente que |
Casos de uso eficientes para FixedString:
Representación binaria de direcciones IPv6:
FixedString(16)Códigos de idioma como
ru_RUyen_USCódigos de moneda como
USDyRUBValores hash MD5:
FixedString(16)Valores hash SHA-256:
FixedString(32)
Fecha y hora
|
Palabra clave |
Descripción |
|
|
Almacena una fecha como el número de días transcurridos desde 1970-01-01. Ocupa 2 bytes. Sin signo. Se almacena sin zona horaria. |
|
|
Almacena una fecha y hora como el número de segundos transcurridos desde 1970-01-01 00:00:00. Ocupa 4 bytes. Sin signo. El rango de valores de |
|
|
Almacena tanto la fecha como la hora de un momento específico. |
Datees más rápido queDateTimeen la mayoría de las condiciones y requiere la mitad de almacenamiento (2 bytes frente a 4 bytes). La diferencia de tamaño se vuelve más significativa después de la compresión.
Booleano
ClickHouse no tiene un tipo booleano nativo. Utilice UInt8 para valores booleanos: 0 para falso, 1 para verdadero.
Arreglo
Array(T) — una colección de elementos del mismo tipo T. El tipo de elemento puede ser cualquier tipo de ClickHouse, incluido Array.
Evite los arreglos multidimensionales. ClickHouse los admite solo parcialmente; los arreglos multidimensionales no se pueden almacenar en tablas MergeTree.
Tupla
Tuple(T1, T2, ...) — una colección de elementos de diferentes tipos.
Las tuplas no se pueden almacenar en tablas, excepto en tablas de memoria. Utilícelas para agrupar columnas temporales en consultas con expresiones IN o funciones lambda.
Dominio
El tipo Domain almacena direcciones IP en formato binario con entrada y salida legibles por humanos:
Direcciones IPv4: compatibles a nivel binario con
UInt32.Direcciones IPv6: compatibles a nivel binario con
FixedString(16).
Enumeración
|
Palabra clave |
Rango |
Notas |
|
|
–128 a 127 |
— |
|
|
–32,768 a 32,767 |
Los valores pueden estar vacíos |
Nullable
Nullable(T) — envuelve cualquier tipo base T para permitir valores NULL. El valor predeterminado es NULL, a menos que la configuración del servidor de ClickHouse especifique lo contrario.
Restricciones:
Las columnas
Nullableno se pueden incluir en índices de tabla.
Nested
Nested — una estructura de datos anidada, similar a una tabla incrustada en una celda. Defínala con nombres y tipos de campo mediante la misma sintaxis que CREATE TABLE. Cada fila de la tabla externa puede corresponder a cualquier número de filas en la estructura anidada.