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.
- Para obter mais informações sobre a criação de tabelas, consulte Tabelas.
- Os tipos de dados suportados do Warehouse são diferentes dos tipos de dados suportados do Banco de dados SQL na malha.
- Para sintaxe, consulte CREATE TABLE
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.