Datentypen in Microsoft Fabric
Gilt für:✅ SQL-Analyseendpunkt und Warehouse in Microsoft Fabric
Tabellen in Microsoft Fabric unterstützen die gängigsten T-SQL-Datentypen.
- Weitere Informationen zur Tabellenerstellung finden Sie unter Tabellen.
- Die unterstützten Datentypen von Warehouse unterscheiden sich von den unterstützten Datentypen der SQL-Datenbank in Fabric.
- Informationen zur Syntax finden Sie unter CREATE TABLE.
Datentypen in Warehouse
Warehouse unterstützt eine Teilmenge von T-SQL-Datentypen. Jeder angebotene Datentyp basiert auf dem SQL Server-Datentyp desselben Namens. Weitere Informationen finden Sie im Referenzartikel für jeden in der folgenden Tabelle.
Kategorie | Unterstützte Datentypen |
---|---|
Genaue numerische Werte | |
Ungefähre numerische Werte | |
Datum und Uhrzeit | |
Zeichenfolgen mit fester Länge | |
Zeichenfolgen mit variabler Länge |
|
Binärzeichenfolgen |
Die Genauigkeit für datetime2 und time ist für Sekunden auf 6 Nachkommastellen begrenzt.
Der Datentyp uniqueidentifier ist ein T-SQL-Datentyp, zu dem es in Delta Parquet keinen übereinstimmenden Datentyp gibt. Daher wird er als binärer Typ gespeichert. Warehouse unterstützt das Speichern und Lesen von uniqueidentifier-Spalten, aber diese Werte können nicht vom SQL-Analyseendpunkt gelesen werden. Beim Lesen von uniqueidentifier-Werten im Lakehouse wird eine binäre Darstellung der Originalwerte angezeigt. Infolgedessen funktionieren Features wie Kreuzjoins zwischen Warehouse und dem SQL-Analyseendpunkt, die eine uniqueidentifier-Spalte verwenden, nicht wie erwartet.
*** Die Unterstützung für varchar (max) und varbinary (max) befindet sich derzeit in der Vorschauphase.
Weitere Informationen zu den unterstützten Datentypen, einschließlich ihrer Genauigkeit, finden Sie unter Datentypen in der CREATE TABLE-Referenz.
Nicht unterstützte Datentypen
Für T-SQL-Datentypen, die derzeit nicht unterstützt werden, stehen einige Alternativen zur Verfügung. Überprüfen Sie die Verwendung dieser Typen, da Genauigkeit und Abfrageverhalten variieren:
Nicht unterstützter Datentyp | Verfügbare Alternativen |
---|---|
money und smallmoney | Verwenden Sie decimal, aber beachten Sie, dass die Währungseinheit nicht gespeichert werden kann. |
datetime- und smalldatetime-Daten | Verwenden Sie datetime2. |
datetimeoffset | Verwenden Sie datetime2, aber Sie können datetimeoffset zum Konvertieren von Daten mit CAST der AT TIME ZONE (Transact-SQL)-Funktion verwenden. Ein Beispiel finden Sie unter datetimeoffset. |
nchar und nvarchar | Verwenden Sie char bzw. varchar, da es keinen ähnlichen Unicode-Datentyp in Parquet gibt. In einer UTF-8-Sortierung können char- und varchar-Typen zum Speichern von Unicode-Daten mehr Speicherplatz benötigen als nchar und nvarchar. Informationen zu den Auswirkungen auf Ihre Umgebung finden Sie unter Speicherunterschiede zwischen UTF-8 und UTF-16. |
text und ntext | Verwenden Sie varchar. |
Abbildung | Verwenden Sie varbinary. |
tinyint | Verwenden Sie smallint. |
geography | Keine Entsprechung |
Nicht unterstützte Datentypen können in T-SQL-Code weiterhin für Variablen oder für jegliche In-Memory-Verwendung in Sitzungen verwendet werden. Das Erstellen von Tabellen oder Ansichten, die Daten auf Datenträgern persistieren, ist mit keinem dieser Typen zulässig.
Eine Anleitung zum Erstellen einer Tabelle in Warehouse finden Sie unter Erstellen von Tabellen.
Automatisch generierte Datentypen im SQL-Analyseendpunkt
Die Tabellen im SQL-Analyseendpunkt werden automatisch erstellt, wenn eine Tabelle im zugehörigen Lakehouse erstellt wird. Die Spaltentypen in den Tabellen des SQL-Analyseendpunkts werden von den Delta-Quelltypen abgeleitet.
In der folgenden Tabelle sind die Regeln für die Zuordnung der ursprünglichen Delta-Typen zu den SQL-Typen im SQL-Analyseendpunkt aufgeführt:
Delta-Datentyp | SQL-Datentyp (zugeordnet) |
---|---|
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) mit Latin1_General_100_BIN2_UTF8 Sortierung |
STRING, VARCHAR(n) | varchar(n) mit Latin1_General_100_BIN2_UTF8 Sortierung |
STRING, VARCHAR(MAX) | varchar(MAX) mit Latin1_General_100_BIN2_UTF8 -Sortierung |
BINARY | varbinary(n) |
DECIMAL, DEC, NUMERIC | decimal(p,s) |
Spalten mit Typen, die nicht in der Tabelle aufgeführt sind, werden im SQL-Analyseendpunkt nicht als Tabellenspalten dargestellt.