Partilhar via


Tipos de dados no Microsoft Fabric

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

As tabelas no Microsoft Fabric suportam os tipos de dados T-SQL mais usados.

Tipos de dados no Warehouse

O Warehouse suporta um subconjunto de tipos de dados T-SQL. Cada tipo de dados oferecido é baseado no tipo de dados 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 suportados
Números exatos
Números aproximados
Data e hora
Cadeias de caracteres de comprimento fixo
Cadeias de caracteres de comprimento variável
Strings binárias

* A precisão para datetime2 e hora é 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 suporta o armazenamento e a leitura de colunas uniqueidentifier , mas esses valores não podem ser lidos no ponto de extremidade da análise SQL. A leitura de valores uniqueidentifier na 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 SQL usando uma coluna uniqueidentifier não funcionam como esperado.

O suporte para varchar (max) e varbinary (max) está atualmente em pré-visualização para o Warehouse. O tipo de dados varchar(max) não é suportado no endpoint de análise SQL.

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

Tipos de dados não suportados

Para tipos de dados T-SQL que não são suportados no momento, algumas alternativas estão disponíveis. Certifique-se de avaliar o uso desses tipos, pois a precisão e o comportamento da consulta variam:

Tipo de dados não suportado Alternativas disponíveis
dinheiro e dinheiro pequeno Use decimal, no entanto, note 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 podem 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.
texto e ntexto Use varchar.
imagem Use varbinary.
tinyint Use smallint.
Geografia Sem equivalente.

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 no 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 da análise SQL

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

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

Tipo de dados delta Tipo de dados SQL (mapeado)
LONGO, BIGINT bigint
BOOLEAN, BOOL bit
INT, INTEIRO Int
TINYINT, BYTE, SMALLINT, CURTO Smallint
DUPLO flutuar
FLOAT, REAL reais
DATE data
TIMESTAMP datetime2
CHAR(n) varchar(n) com Latin1_General_100_BIN2_UTF8 colação
STRING, VARCHAR(n) varchar(n) com Latin1_General_100_BIN2_UTF8 colação
STRING, VARCHAR(8000) Varchar(8000) com agrupamento Latin1_General_100_BIN2_UTF8
BINÁRIO varbinário(n)
DECIMAL, DEC, NUMÉRICO 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 da tabela no ponto de extremidade da análise SQL.