Udostępnij za pośrednictwem


Typy danych w usłudze Microsoft Fabric

Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric

Tabele w usłudze Microsoft Fabric obsługują najczęściej używane typy danych T-SQL.

Typy danych w magazynie

Magazyn obsługuje podzestaw typów danych T-SQL. Każdy oferowany typ danych jest oparty na typie danych programu SQL Server o tej samej nazwie. Aby uzyskać więcej informacji, zapoznaj się z artykułem referencyjnym dla każdego z nich w poniższej tabeli.

Kategoria Obsługiwane typy danych
Dokładne cyfry
Przybliżone wartości liczbowe
Data i godzina
Ciągi znaków o stałej długości
Ciągi znaków o zmiennej długości
Ciągi binarne

* Precyzja daty/godziny 2 i godziny jest ograniczona do 6 cyfr dokładności ułamków sekund.

** Unikatowy typ danychidentyfikatora jest typem danych T-SQL bez pasującego typu danych w delty Parquet. W związku z tym jest on przechowywany jako typ binarny. Magazyn obsługuje przechowywanie i odczytywanie unikatowych kolumnidentyfikatora , ale te wartości nie mogą być odczytywane w punkcie końcowym analizy SQL. Odczytywanie unikatowych wartościidentifier w lakehouse wyświetla binarną reprezentację oryginalnych wartości. W związku z tym funkcje, takie jak sprzężenia krzyżowe między magazynem i punktem końcowym analizy SQL przy użyciu kolumny uniqueidentifier, nie działają zgodnie z oczekiwaniami.

Obsługa varchar (max) i varbinary (max) jest obecnie dostępna w wersji zapoznawczej dla Magazynu. Typ danych varchar(max) nie jest obsługiwany w punkcie końcowym analizy SQL.

Aby uzyskać więcej informacji na temat obsługiwanych typów danych, w tym ich dokładności, zobacz typy danych w dokumentacji CREATE TABLE.

Nieobsługiwane typy danych

W przypadku typów danych T-SQL, które nie są obecnie obsługiwane, dostępne są niektóre alternatywy. Upewnij się, że oceniasz użycie tych typów, ponieważ dokładność i zachowanie zapytań różnią się:

Nieobsługiwany typ danych Dostępne alternatywy
pieniądze i małamoney Należy jednak pamiętać, że nie może przechowywać jednostki pieniężnej.
datetime i smalldatetime Użyj daty/godziny2.
datetimeoffset Użyj daty/godziny2, jednak możesz użyć elementu datetimeoffset do konwertowania danych za pomocą funkcji CAST AT TIME ZONE (Transact-SQL). Aby zapoznać się z przykładem, zobacz datetimeoffset.
nchar i nvarchar Użyj odpowiednio znaków i varchar , ponieważ w Parquet nie ma podobnego typu danych Unicode . Typy char i varchar w sortowaniu UTF-8 mogą używać więcej miejsca niż nchar i nvarchar do przechowywania danych Unicode. Aby zrozumieć wpływ na środowisko, zobacz Różnice magazynu między utF-8 i UTF-16.
tekst i ntekst Użyj funkcji varchar.
obraz Użyj metody varbinary.
tinyint Użyj narzędzia smallint.
geografia Brak odpowiednika.

Nieobsługiwane typy danych mogą być nadal używane w kodzie języka T-SQL dla zmiennych lub dowolnego użycia w pamięci w sesji. Tworzenie tabel lub widoków, które utrwalają dane na dysku przy użyciu dowolnego z tych typów, nie jest dozwolone.

Aby zapoznać się z przewodnikiem tworzenia tabeli w magazynie, zobacz Tworzenie tabel.

Automatycznie wygenerowane typy danych w punkcie końcowym analizy SQL

Tabele w punkcie końcowym analizy SQL są tworzone automatycznie za każdym razem, gdy tabela zostanie utworzona w skojarzonej usłudze Lakehouse. Typy kolumn w tabelach punktów końcowych analizy SQL pochodzą z źródłowych typów różnic.

Reguły mapowania oryginalnych typów delty na typy SQL w punkcie końcowym analizy SQL są wyświetlane w poniższej tabeli:

Typ danych różnicowych Typ danych SQL (mapowany)
LONG, BIGINT bigint
WARTOŚĆ LOGICZNA, WARTOŚĆ LOGICZNA bit
INT, LICZBA CAŁKOWITA int
TINYINT, BYTE, SMALLINT, SHORT smallint
PODWÓJNY float
FLOAT, REAL prawdziwy
DATA data
TIMESTAMP data/godzina2
CHAR(n) varchar(n) z sortowaniem Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(n) varchar(n) z sortowaniem Latin1_General_100_BIN2_UTF8
STRING, VARCHAR(8000) varchar(8000) z sortowaniem Latin1_General_100_BIN2_UTF8
DWÓJKOWY varbinary(n)
DZIESIĘTNE, DZIESIĘTNE, NUMERYCZNE dziesiętne (p, s)

Kolumny, które mają typy, które nie są wymienione w tabeli, nie są reprezentowane jako kolumny tabeli w punkcie końcowym analizy SQL.