Todos os produtos
Search
Central de documentação

ApsaraDB for ClickHouse:Data types

Última atualização: Jun 28, 2026

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

Int8

–128 a 127

Int16

–32.768 a 32.767

Int32

–2.147.483.648 a 2.147.483.647

Int64

–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

Float32

Ponto flutuante de precisão simples. Equivalente a FLOAT em C++. Ocupa 4 bytes; binário de 32 bits.

Float64

Ponto flutuante de precisão dupla. Equivalente a DOUBLE em C++. Ocupa 8 bytes; binário de 64 bits.

Para dados financeiros ou comerciais que exigem cálculos exatos, use Decimal em vez de Float32 ou Float64 . 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

String de comprimento variável e tamanho arbitrário, incluindo bytes nulos. Equivalente a VARCHAR, BLOB e CLOB em outros sistemas de banco de dados.

FixedString(N)

String de comprimento fixo com exatamente N bytes. Mais eficiente que String quando todos os valores têm o mesmo tamanho em bytes.

Casos de uso eficientes para FixedString:

  • Representação binária de endereços IPv6: FixedString(16)

  • Códigos de idioma como ru_RU e en_US

  • Códigos de moeda como USD e RUB

  • Valores de hash MD5: FixedString(16)

  • Valores de hash SHA-256: FixedString(32)

Data e hora

Palavra-chave

Descrição

Date

Armazena uma data como o número de dias desde 1970-01-01. Ocupa 2 bytes. Sem sinal. Armazenado sem fuso horário.

DateTime

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 DateTime é igual à de Date. O valor mínimo é 1970-01-01 00:00:00. Precisão de segundos; não suporta segundos bissextos. O fuso horário corresponde ao do sistema cliente ou servidor.

DateTime64

Armazena tanto a data quanto a hora de um momento específico.

Date apresenta melhor desempenho que DateTime na 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

Enum8

–128 a 127

Enum16

–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 Nullable nã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.