Dela via


Datatyper i Microsoft Fabric

Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric

Tabeller i Microsoft Fabric stöder de vanligaste T-SQL-datatyperna.

Datatyper i Warehouse

Warehouse stöder en delmängd av T-SQL-datatyper. Varje erbjuden datatyp baseras på SQL Server-datatypen med samma namn. Mer information finns i referensartikeln för var och en i följande tabell.

Kategori Datatyper som stöds
Exakta numeriska värden
Ungefärlig numeriska värden
Datum och tid
Teckensträngar med fast längd
Teckensträngar med variabel längd
Binära strängar

* Precisionen för datetime2 och tid är begränsad till 6 siffror precision på bråkdelar av sekunder.

** Datatypen uniqueidentifier är en T-SQL-datatyp utan matchande datatyp i Delta Parquet. Därför lagras den som en binär typ. Warehouse stöder lagring och läsning av kolumner med unikaidentifierare , men dessa värden kan inte läsas på SQL-analysslutpunkten. När du läser unikaidentifierarvärden i lakehouse visas en binär representation av de ursprungliga värdena. Därför fungerar inte funktioner som korskopplingar mellan lager- och SQL-analysslutpunkten med hjälp av en unikidentifierarkolumn som förväntat.

Stöd för varchar (max) och varbinary (max) är för närvarande i förhandsversion för informationslagret. Strängkolumnerna från de underliggande Delta Lake-filerna i One Lake representeras som varchar(8000) i stället för varchar(max) i SQL-analysslutpunkten.

Mer information om vilka datatyper som stöds, inklusive deras precision, finns i datatyper i CREATE TABLE-referens.

Datatyper som inte stöds

För T-SQL-datatyper som för närvarande inte stöds är vissa alternativ tillgängliga. Se till att du utvärderar användningen av dessa typer eftersom precision och frågebeteende varierar:

Datatypen stöds inte Tillgängliga alternativ
pengar och småpengar Använd decimal, observera dock att den inte kan lagra den monetära enheten.
datetime och smalldatetime Använd datetime2.
datetimeoffset Använd datetime2, men du kan använda datetimeoffset för att konvertera data med funktionen AT TIME ZONE (Transact-SQL). Ett exempel finns i datetimeoffset.
nchar och nvarchar Använd tecken respektive varchar eftersom det inte finns någon liknande unicode-datatyp i Parquet. Typ av tecken och varchar i en UTF-8-sortering kan använda mer lagring än nchar och nvarchar för att lagra unicode-data. Information om hur miljön påverkas finns i Lagringsskillnader mellan UTF-8 och UTF-16.
text och ntext Använd varchar.
bild Använd varbinary.
tinyint Använd smallint.
geografi Lagra geografidata som ett kolumnpar (latitud, longitud) eller en varbinär kolumn med det välkända binära innehållet och omvandla dem till ett geografivärde. Du kan också använda varchar typ och lagra data som välkänd text.
geometri Lagra geometridata som ett kolumnpar (latitud, longitud) eller ett varbinärt kolumn med det välkända binära innehållet och omvandla det till ett geometrivärde Som ett alternativ använder du varchar typ och lagrar data som välkänd text.
json Använd varchar.
xml Ingen motsvarighet.
användardefinierad typ (CLR) Ingen motsvarighet.

Datatyper som inte stöds kan fortfarande användas i T-SQL-kod för variabler eller någon minnesintern användning i sessionen. Det är inte tillåtet att skapa tabeller eller vyer som bevarar data på disken med någon av dessa typer.

En guide för att skapa en tabell i Warehouse finns i Skapa tabeller.

Autogenererade datatyper i SQL-analysslutpunkten

Tabellerna i SQL Analytics-slutpunkten skapas automatiskt när en tabell skapas i det associerade lakehouse-objektet. Kolumntyperna i SQL Analytics-slutpunktstabellerna härleds från deltatyperna för källan.

Reglerna för att mappa ursprungliga Delta-typer till SQL-typerna i SQL-analysslutpunkten visas i följande tabell:

Deltadatatyp SQL-datatyp (mappad)
LONG, BIGINT bigint
BOOLEAN, BOOL bit
INT, HELTAL Int
TINYINT, BYTE, SMALLINT, SHORT smallint
DUBBEL flyta
FLOAT, REAL verklig
DATE datum
TIMESTAMP datetime2
CHAR(n) varchar(n) med Latin1_General_100_BIN2_UTF8 sortering
STRING, VARCHAR(n) varchar(n) med Latin1_General_100_BIN2_UTF8 sortering
STRING, VARCHAR(8000) varchar(8000) med Latin1_General_100_BIN2_UTF8 sortering
BINÄR varbinary(n)
DECIMAL, DEC, NUMERISK decimal(p,s)

De kolumner som har de typer som inte visas i tabellen representeras inte som tabellkolumner i SQL-analysslutpunkten.