Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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 hurtowni danych Fabric
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 |
|
| Dane 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.
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.
Typy, które nie są wymienione w tabeli, nie są reprezentowane jako kolumny tabeli w punkcie końcowym analizy SQL.
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 |
| VARCHAR(n) gdzie n < 2000 |
varchar(4*n) z sortowaniem Latin1_General_100_BIN2_UTF8 |
| STRING, VARCHAR(n), gdzie n >= 2000 |
varchar(8000) w punkcie końcowym analizy SQL dla Lakehouse i varchar(max)* w punkcie końcowym analizy SQL dla elementów lustrzanych. Kolumna varchar ma Latin1_General_100_BIN2_UTF8 sortowanie. |
| DWÓJKOWY | varbinary(n) |
| DZIESIĘTNE, DEC, NUMERYCZNY | decimal (p, s) |
* Limit przechowywania w varchar(max) wynosi obecnie 16 MB w punkcie końcowym analizy SQL i Fabric Data Warehouse.