Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅ punkt końcowy analizy SQL i Magazyn danych 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 bazy danych SQL 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.
** Typ danych uniqueidentifier jest typem danych T-SQL bez pasującego typu danych w Delta Parquet. W związku z tym jest on przechowywany jako typ binarny. Magazyn obsługuje przechowywanie i odczytywanie kolumn uniqueidentifier, ale te wartości nie mogą być odczytywane w punkcie końcowym usługi analitycznej SQL. Odczytywanie wartości uniqueidentifier 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. Kolumny typu ciąg znaków z bazowych plików Delta Lake w usłudze One Lake są reprezentowane jako varchar(8000) zamiast varchar(max) w punkcie końcowym analizy SQL. Limit przechowywania w varchar(max) wynosi obecnie 1 MB w Fabric Data Warehouse.
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łe pieniądze | Należy użyć decimal, jednak pamiętaj, że nie może przechowywać jednostki pieniężnej. |
Datetime (data i czas) i SmallDatetime (mała data i czas) | Użyj datetime2. |
datetimeoffset | Użyj datetime2, jednak możesz użyć datetimeoffset do konwertowania danych za pomocą CAST funkcji AT TIME ZONE (Transact-SQL). Aby zapoznać się z przykładem, zobacz datetimeoffset. |
nchar i nvarchar | Proponuję używać odpowiednio char oraz 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 w przechowywaniu między UTF-8 a UTF-16. |
tekst i ntekst | Użyj varchar. |
obraz | Użyj varbinary. |
tinyint | Użyj smallint. |
geografia | Przechowuj dane geograficzne jako parę kolumn (szerokość geograficzna, długość geograficzna) lub kolumnę zawierającą znaną zawartość binarną i rzutuj ją na wartość geograficzną. Alternatywnie należy użyć typu varchar i przechowywać dane jako dobrze znany tekst. |
geometria | Przechowuj dane geometryczne jako parę kolumn (szerokość geograficzna, długość geograficzna) lub varbinary kolumnę z dobrze znaną zawartością binarną i przekształć ją na wartość geometryczną. Alternatywnie, użyj typu varchar i zapisz dane jako dobrze znany tekst. |
JSON | Użyj varchar. |
XML | Brak odpowiednika. |
Typ zdefiniowany przez użytkownika (CLR) | Brak odpowiednika. |
Nieobsługiwane typy danych mogą być nadal używane w kodzie T-SQL dla zmiennych, parametrów lub danych wyjściowych funkcji i procedur składowanych 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 zakończeń analizy SQL są pochodnymi ze źródłowych typów Delta.
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 Delta | Typ danych SQL (mapowany) |
---|---|
long, bigint | bigint |
LOGICZNY, BOOL | bit |
INT, INT | Int |
TINYINT, BYTE, SMALLINT, SHORT | smallint |
PODWÓJNY | spławik |
FLOAT, REAL | prawdziwy |
DATA | data |
ZNACZNIK CZASU | datetime2 |
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, DEC, NUMERYCZNY | decimal (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.