Compartilhar via


Tipos de dados no Microsoft Fabric

Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric

As tabelas no Microsoft Fabric dão suporte aos tipos de dados T-SQL mais usados.

Tipos de dados no Warehouse

O Warehouse é compatível com um subconjunto de tipos de dados T-SQL. Cada tipo de dados oferecido é baseado no tipo de dados do SQL Server de mesmo nome. Para obter mais informações, consulte o artigo de referência para cada um na tabela a seguir.

Categoria Tipos de dados com suporte
Numéricos exatos
Numéricos aproximados
Data e Hora
Cadeias de caracteres de comprimento fixo
Cadeias de caracteres de comprimento variável
Cadeia de caracteres binária

* A precisão de datetime2 e time é limitada a 6 dígitos de precisão em frações de segundos.

** O tipo de dados uniqueidentifier é um tipo de dados T-SQL, sem um tipo de dados correspondente no Delta Parquet. Como resultado, ele é armazenado como um tipo binário. O Warehouse dá suporte ao armazenamento e à leitura de colunas de uniqueidentifier, mas esses valores não podem ser lidos no Ponto de Extremidade de Análise do SQL. A leitura de valores uniqueidentifier no lakehouse exibe uma representação binária dos valores originais. Como resultado, recursos como junções cruzadas entre o Warehouse e o ponto de extremidade de análise do SQL usando uma coluna uniqueidentifier não funcionam conforme o esperado.

*** No momento, o suporte para varchar (máx.) e varbinary (máx.) está em versão prévia.

Para obter mais informações sobre os tipos de dados com suporte, incluindo suas precisões, consulte tipos de dados na referência CREATE TABLE.

Tipos de dados sem suporte

Para tipos de dados T-SQL que não têm suporte no momento, algumas alternativas estão disponíveis. Avalie o uso desses tipos, pois a precisão e o comportamento de consulta pode variar:

Tipo de dados sem suporte Alternativas disponíveis
money e smallmoney Use decimal. No entanto, observe que ele não pode armazenar a unidade monetária.
datetime e smalldatetime Use datetime2.
datetimeoffset Use datetime2, no entanto, você pode usar datetimeoffset para converter dados com CAST a função AT TIME ZONE (Transact-SQL). Para obter um exemplo, consulte datetimeoffset.
nchar e nvarchar Use char e varchar, respectivamente, pois não há nenhum tipo de dados unicode semelhante no Parquet. Os tipos char e varchar em um agrupamento UTF-8 poderão usar mais armazenamento do que nchar e nvarchar para armazenar dados unicode. Para entender o impacto em seu ambiente, consulte Diferenças de armazenamento entre UTF-8 e UTF-16.
text e ntext Use varchar.
imagem Use varbinary.
tinyint Use o smallint.
geografia Não há equivalência.

Tipos de dados sem suporte ainda podem ser usados no código T-SQL para variáveis ou qualquer uso na memória na sessão. Não é permitido criar tabelas ou exibições que persistam dados em disco com qualquer um desses tipos.

Para obter um guia para criar uma tabela no Warehouse, consulte Criar tabelas.

Tipos de dados gerados automaticamente no ponto de extremidade de análise do SQL

As tabelas no ponto de extremidade de análise do SQL são criadas automaticamente sempre que uma tabela é criada no lakehouse associado. Os tipos de coluna nas tabelas de ponto de extremidade de análise do SQL são derivados dos tipos Delta de origem.

As regras para mapear tipos Delta originais para os tipos SQL no ponto de extremidade de análise do SQL são mostradas na tabela a seguir:

Tipo de dados Delta Tipo de dados SQL (mapeado)
LONG, BIGINT bigint
BOOLEAN, BOOL bit
INT, INTEGER int
TINYINT, BYTE, SMALLINT, SHORT smallint
DOUBLE float
FLOAT, REAL real
DATE date
TIMESTAMP datetime2
CHAR(n) varchar(n) com a ordenação Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(n) varchar(n) com a ordenação Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(MAX) varchar(máx.) com ordenação Latin1_General_100_BIN2_UTF8
BINARY varbinary(n)
DECIMAL, DEC, NUMERIC decimal(p,s)

As colunas que têm os tipos que não estão listados na tabela não são representadas como as colunas de tabela no ponto de extremidade de análise do SQL.