共用方式為


Microsoft Fabric 中的資料類型

適用於:✅ Microsoft Fabric 中的 SQL 分析端點和倉儲

Microsoft Fabric 中的資料表支援最常用的 T-SQL 資料類型。

  • 如需有關建立資料表的詳細資訊,請參閱資料表
  • 如需語法,請參閱 CREATE TABLE

倉儲中的資料類型

倉儲支援 T-SQL 資料類型的子集。 每個子集提供的資料類型都以相同名稱的 SQL Server 資料類型為基礎。 如需詳細資訊,請參閱下列資料中各項的參考文章。

類別 支援的資料類型
精確數值
近似數值
日期和時間
固定長度字元字串
可變長度字元字串
二進位字串

* datetime2time 的有效位數限制為 6 位數的有效位數 (秒數的小數部分)。

** uniqueidentifier 資料類型是 T-SQL 資料類型,在 Delta Parquet 中沒有相符的資料類型。 因此,它會儲存為二進位類型。 Warehouse 支援儲存和讀取 uniqueidentifier 資料欄,但這些值無法在 SQL 分析端點上讀取。 在 Lakehouse 中讀取 uniqueidentifier 值會顯示原始值的二進位表示法。 因此,使用 uniqueidentifier 數據行的倉儲與 SQL 分析端點之間的交叉聯結等功能無法如預期般運作。

varchar (max)varbinary (max) 的支援目前為預覽狀態。

如需受支援資料類型的詳細資訊,包括其精確度,請參閱 CREATE TABLE 參考中的資料類型

不支援的資料類型

針對目前不受支援的 T-SQL 資料類型,有一些替代方案可供使用。 請務必評估這些類型的用法,因為精確度和查詢行為會有所差異:

不受支援的資料類型 可用的替代方案
moneysmallmoney 使用十進位,但請注意,無法儲存貨幣單位。
datetimesmalldatetime 使用 datetime2
datetimeoffset 使用 datetime2,不過您可以使用 datetimeoffset 搭配 AT TIME ZONE (Transact-SQL) 函數 CAST 來轉換資料。 如需範例,請參閱 datetimeoffset
ncharnvarchar 分別使用 charvarchar,因為 Parquet 中沒有類似的 Unicode 資料類型。 UTF-8 定序中的 charvarchar 類型可能會使用比 ncharnvarchar 更多的記憶體來儲存 Unicode 資料。 若要了解對您環境的影響,請參閱 UTF-8 與 UTF-16 之間的儲存差異
text 和 ntext 使用 varchar
image 使用 varbinary
tinyint 使用 smallint
地理位置 沒有同等項目。

不受支援的資料類型仍可用於 T-SQL 程式碼中的變數,或工作階段中的任何記憶體內使用。 不允許建立在磁碟上以任何這些類型保存資料的資料表或檢視。

如需在 Warehouse 中建立資料表的指南,請參閱建立資料表

SQL 分析端點中自動產生的資料類型

每當在關聯的 Lakehouse 中建立資料表時,就會在 SQL 分析端點中自動建立資料表。 SQL 分析端點資料表中的資料欄類型衍生自來源 Delta 類型。

下表顯示將原始 Delta 類型對應至 SQL 分析端點中 SQL 類型的規則:

Delta 資料類型 SQL 資料類型 (對應)
LONGBIGINT bigint
BOOLEANBOOL bit
INTINTEGER int
TINYINTBYTESMALLINTSHORT smallint
DOUBLE float
FLOATREAL real
DATE date
TIMESTAMP datetime2
CHAR(n) varchar(n),具有 Latin1_General_100_BIN2_UTF8 定序
STRINGVARCHAR(n) varchar(n),具有 Latin1_General_100_BIN2_UTF8 定序
STRINGVARCHAR(MAX) 具有定序的 Latin1_General_100_BIN2_UTF8 varchar(MAX)
二元的 varbinary(n)
DECIMALDECNUMERIC decimal(p,s)

資料表中未列出類型的資料欄不會表示為 SQL 分析端點中的資料表資料欄。