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.
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 z. B. Kreuzprodukte zwischen Warehouse und SQL-Analyseendpunkt, die eine uniqueidentifier-Spalte verwenden, nicht wie erwartet.
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. |
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(8000) 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.