Condividi tramite


Tipo 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.

Tipi di dati in magazzino

Il magazzino supporta un sottoinsieme di un tipo 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
Dati numerici esatti
Numerici approssimati
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. Magazzino 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 nel lakehouse visualizza una rappresentazione binaria dei valori originali. Di conseguenza, le funzionalità come i cross join tra Warehouse e endpoint di analisi SQL che usano una colonna uniqueidentifier non funzionano come previsto.

Il supporto per varchar (max) e varbinary (max) è attualmente in anteprima.

Per altre informazioni sui tipi di dati supportati, incluse le relative precisioni, vedere tipi di dati nelle informazioni di riferimento di 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 supportati Alternative disponibili
money e smallmoney. Usare decimal, tuttavia si noti che non è possibile memorizzare 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.
tinyint Usare smallint.
geography Nessun equivalente.

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 magazzino, 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 nel lakehouse associato. 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 confronto Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(n) varchar(n) con confronto Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(MAX) varchar(MAX) 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.