Microsoft Fabric のデータ型

適用対象: Microsoft Fabric の SQL 分析エンドポイントとウェアハウス

Microsoft Fabric におけるテーブルでは、最もよく使用される T-SQL データ型がサポートされています。

  • テーブル作成について詳しくは、テーブルに関するページをご覧ください。

ウェアハウスでのデータ型

ウェアハウスでは、T-SQL データ型のサブセットがサポートされています。 提供される各データ型は、同じ名前の SQL Server データ型に基づいています。 詳細については、次の表の各リファレンス記事を参照してください。

カテゴリ サポートされているデータ型
厳密な数値
概数
日付と時刻
固定長の文字列
可変長の文字列
バイナリ文字列

* datetime2time の精度に関しては、秒の小数部が 6 桁までとなります。

** uniqueidentifier データ型は、Delta Parquet において一致するデータ型がない T-SQL データ型です。 そのため、それはバイナリ型として格納されます。 ウェアハウスでは uniqueidentifier 列の格納と読み取りがサポートされていますが、SQL 分析エンドポイントではこれらの値を読み取れません。 レイクハウスで uniqueidentifier 値を読み取ると、元の値のバイナリ表現が表示されます。 そのため、ウェアハウスと SQL 分析エンドポイントの間での uniqueidentifier 列を使用したクロス結合などの機能は、期待どおりの結果にはなりません。

サポートされているデータ型の詳細 (その精度など) については、CREATE TABLE のリファレンスで「データ型」をご覧ください。

サポートされていないデータ型

現在サポートされていない T-SQL データ型については、代替手段を使用できます。 これらの型を使用する場合は、精度やクエリ動作が異なる可能性があるため、必ず評価してください。

サポートされていないデータ型 使用できる代替手段
moneysmallmoney decimal を使用します。ただし、それには通貨単位を格納できないことに注意してください。
datetime 型と smalldatetime datetime2 を使用します。
datetimeoffset CAST 関数と AT TIME ZONE (Transact-SQL) の関数を使用してデータを変換する場合、datetime2 を使用しますが、必要に応じて datetimeoffset を使用することもできます。 例については、 datetimeoffset を参照してください。
ncharnvarchar Parquet には同様の unicode データ型がないため、それぞれ charvarchar を使用します。 UTF-8 照合順序を使用した char 型とvarchar型では、Unicode データの格納に ncharnvarchar よりも多くの記憶域が使用される場合があります。 ご使用の環境での影響を確認するには、「UTF-8 と UTF-16 でのストレージの相違点」をご覧ください。
text と ntext varchar を使用します。
image varbinary を使用します。

サポートされていないデータ型を T-SQL コードにおいて変数に使用することも、セッションにおいてメモリ内で使用することもできます。 ディスク上のデータを保持するテーブルやビューをこれらの型を使用して作成することは許可されていません。

ウェアハウスにおいてテーブルを作成するためのガイドは、テーブルの作成に関するページをご覧ください。

SQL 分析エンドポイントで自動生成されたデータ型

SQL 分析エンドポイントでのテーブルは、関連するレイクハウスにおいてテーブルが作成されるたびに自動的に作成されます。 SQL 分析エンドポイントのテーブル内の列の型は、ソースの Delta 型から導出されます。

SQL 分析エンドポイントで元の Delta 型が 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) varchar(8000) (Latin1_General_100_BIN2_UTF8 照合順序を使用)
BINARY varbinary(n)
DECIMALDECNUMERIC decimal(p,s)

この表で示されていない型の列は、SQL 分析エンドポイントにおいてテーブル列として表されません。