O ApsaraDB for ClickHouse oferece suporte aos tipos de dados listados nesta referência. Para consultar o sistema de tipos completo, acesse Data Types na documentação open source do ClickHouse.
Tipos de dados suportados
Inteiro
Inteiros com sinal. Use o menor tipo que atenda à sua faixa de valores para minimizar o armazenamento.
|
Palavra-chave |
Faixa |
|
|
–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 inteiros sem sinal (UInt8, UInt16, UInt32, UInt64), consulte Integer types na documentação do ClickHouse.
Ponto flutuante
|
Palavra-chave |
Descrição |
|
|
Ponto flutuante de precisão simples. Equivalente a |
|
|
Ponto flutuante de precisão dupla. Equivalente a |
Para dados financeiros ou comerciais que exigem cálculos exatos, useDecimalem vez deFloat32ouFloat64. A aritmética de ponto flutuante pode causar erros de arredondamento.
Decimal
Números de ponto fixo com sinal que mantêm a precisão nas operações de adição, subtração e multiplicação.
Formatos suportados: Decimal(P, S), Decimal32(S), Decimal64(S), Decimal128(S).
String
|
Palavra-chave |
Descrição |
|
|
String de comprimento variável e tamanho arbitrário, incluindo bytes nulos. Equivalente a |
|
|
String de comprimento fixo com exatamente N bytes. Mais eficiente que |
Casos de uso eficientes para FixedString:
Representação binária de endereços IPv6:
FixedString(16)Códigos de idioma como
ru_RUeen_USCódigos de moeda como
USDeRUBValores de hash MD5:
FixedString(16)Valores de hash SHA-256:
FixedString(32)
Data e hora
|
Palavra-chave |
Descrição |
|
|
Armazena uma data como o número de dias desde 1970-01-01. Ocupa 2 bytes. Sem sinal. Armazenado sem fuso horário. |
|
|
Armazena data e hora como o número de segundos desde 1970-01-01 00:00:00. Ocupa 4 bytes. Sem sinal. A faixa de valores de |
|
|
Armazena tanto a data quanto a hora de um momento específico. |
Dateapresenta melhor desempenho queDateTimena maioria das condições e requer metade do armazenamento (2 bytes contra 4 bytes). Essa diferença de tamanho torna-se ainda mais significativa após a compressão.
Booleano
O ClickHouse não possui um tipo booleano nativo. Use UInt8 para valores booleanos: 0 para falso e 1 para verdadeiro.
Array
Array(T) — coleção de elementos do mesmo tipo T. O tipo do elemento pode ser qualquer tipo do ClickHouse, inclusive Array.
Evite arrays multidimensionais. O ClickHouse oferece suporte parcial a eles — arrays multidimensionais não podem ser armazenados em tabelas MergeTree.
Tuple
Tuple(T1, T2, ...) — coleção de elementos de tipos diferentes.
Tuples não podem ser armazenados em tabelas, exceto em tabelas de memória. Use-os para agrupar colunas temporárias em consultas com expressões IN ou funções lambda.
Domain
O tipo Domain armazena endereços IP em formato binário, permitindo entrada e saída legíveis por humanos:
Endereços IPv4: compatibilidade binária com
UInt32.Endereços IPv6: compatibilidade binária com
FixedString(16).
Enumeração
|
Palavra-chave |
Faixa |
Observações |
|
|
–128 a 127 |
— |
|
|
–32.768 a 32.767 |
Os valores podem ser vazios |
Nullable
Nullable(T) — encapsula qualquer tipo base T para permitir valores NULL. O valor padrão é NULL, a menos que a configuração do servidor ClickHouse especifique o contrário.
Restrições:
Colunas
Nullablenão podem ser incluídas em índices de tabela.
Nested
Nested — estrutura de dados aninhada, semelhante a uma tabela incorporada em uma célula. Defina-a com nomes e tipos de campos, usando a mesma sintaxe de CREATE TABLE. Cada linha da tabela externa pode corresponder a qualquer número de linhas na estrutura aninhada.