Condividi tramite


Tipi di dati in Microsoft Fabric

Si applica a: Endpoint di analisi SQL e Warehouse in Microsoft Fabric

Le tabelle in Microsoft Fabric supportano i tipi di dati T-SQL usati più di frequente.

  • Per altre informazioni sulla creazione di tabelle, vedere Tabelle.

Tipi di dati in Warehouse

Warehouse supporta un subset di tipi di dati T-SQL. Ogni tipo di dati offerto è basato sul tipo di dati di SQL Server con lo stesso nome. Per altre informazioni, vedere l'articolo di riferimento per ognuno di essi nella tabella seguente.

Categoria Tipi di dati supportati
Numeri esatti
Numeri approssimativi
Data e ora
Stringhe di caratteri a lunghezza fissa
Stringhe di caratteri a lunghezza variabile
Stringhe binarie

* La precisione per datetime2 e time è limitata a 6 cifre di precisione in frazioni di secondi.

** Il tipo di dati uniqueidentifier è un tipo di dati T-SQL senza un tipo di dati corrispondente in Delta Parquet. Di conseguenza, viene archiviato come tipo binario. Warehouse supporta l'archiviazione e la lettura di colonne uniqueidentifier , ma questi valori non possono essere letti nell'endpoint di analisi SQL. La lettura di valori uniqueidentifier nella lakehouse visualizza una rappresentazione binaria dei valori originali. Di conseguenza, le funzionalità come i cross join tra Warehouse ed endpoint di analisi SQL che usano una colonna uniqueidentifier non funzionano come previsto.

Per altre informazioni sui tipi di dati supportati, incluse le relative precisioni, vedere Tipi di dati nelle informazioni di riferimento su CREATE TABLE.

Tipi di dati non supportati

Per i tipi di dati T-SQL attualmente non supportati, sono disponibili alcune alternative. Assicurarsi di valutare l'uso di questi tipi, in quanto il comportamento di precisione e query varia:

Tipo di dati non supportato Alternative disponibili
money e smallmoney Usare decimal, tuttavia si noti che non è possibile archiviare l'unità monetaria.
datetime e smalldatetime Usare datetime2.
datetimeoffset Usare datetime2, tuttavia, è possibile usare datetimeoffset per convertire i dati con CAST la funzione AT TIME ZONE (Transact-SQL). Per un esempio, vedere datetimeoffset.
nchar e nvarchar Usare rispettivamente char e varchar, perché non esiste un tipo di dati Unicode simile in Parquet. I tipi char e varchar in regole di confronto UTF-8 possono usare più spazio di archiviazione rispetto a nchar e nvarchar per archiviare i dati Unicode. Per comprendere l'impatto sull'ambiente, vedere Differenze di archiviazione tra UTF-8 e UTF-16.
text e ntext Usare varchar.
Immagine Usare varbinary.

I tipi di dati non supportati possono comunque essere usati nel codice T-SQL per le variabili o qualsiasi uso in memoria nella sessione. La creazione di tabelle o viste che rende persistenti i dati su disco con uno di questi tipi non è consentita.

Per una guida alla creazione di una tabella in Warehouse, vedere Creare tabelle.

Tipi di dati generati automaticamente nell'endpoint di analisi SQL

Le tabelle nell'endpoint di analisi SQL vengono create automaticamente ogni volta che viene creata una tabella nella lakehouse associata. I tipi di colonna nelle tabelle degli endpoint di analisi SQL sono derivati dai tipi Delta di origine.

Le regole per il mapping dei tipi Delta originali ai tipi SQL nell'endpoint di analisi SQL sono illustrate nella tabella seguente:

Tipo di dati Delta Tipo di dati SQL (mappato)
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) con Latin1_General_100_BIN2_UTF8 regole di confronto
STRING, VARCHAR(n) varchar(n) con Latin1_General_100_BIN2_UTF8 regole di confronto
STRING, VARCHAR(MAX) varchar(8000) con Latin1_General_100_BIN2_UTF8 regole di confronto
BINARIO varbinary(n)
DECIMAL, DEC, NUMERIC decimal(p,s)

Le colonne con i tipi non elencati nella tabella non sono rappresentate come colonne di tabella nell'endpoint di analisi SQL.