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.
- Aby uzyskać więcej informacji na temat tworzenia tabel, zobacz Tabele.
- Obsługiwane typy danych magazynu różnią się od obsługiwanych typów danych usługi SQL Database w usłudze Fabric.
- Aby uzyskać informacje o składni, zobacz CREATE TABLE
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
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.