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.
- Para obter mais informações sobre a criação de tabelas, consulte Tabelas.
- Os tipos de dados com suporte do Warehouse são diferentes dos tipos de dados compatíveis com Banco de Dados SQL no Fabric.
- Para sintaxe, confira CRIAR TABELA
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.