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.
- Mer information om hur du skapar tabeller finns i Tabeller.
- De datatyper som stöds av Warehouse skiljer sig från de datatyper som stöds för SQL Database i Fabric.
- Syntax finns i CREATE TABLE (SKAPA TABELL)
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.