次の方法で共有


Microsoft Fabric のデータ型

適用対象:✅ Microsoft Fabric の SQL エンドポイントおよびウェアハウス

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

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

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

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

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

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

現在、Warehouseのプレビュー段階では、varchar (max)varbinary (max) のサポートが行われています。 One Lake の基になる Delta Lake ファイルの文字列列は、SQL 分析エンドポイントの varchar(max) ではなく、varchar(8000) として表されます。

サポートされているデータ型の詳細 (その精度など) については、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 を使用します。
tinyint smallint を使用します。
geography 地理データを (緯度、経度) 列ペア、または既知のバイナリ コンテンツを含む varbinary 列として格納し、geography 値にキャストします。 代わりに、varchar 型 使用し、既知のテキストとしてデータを格納します。
geometry ジオメトリ データを (緯度、経度) 列ペアとして、または既知のバイナリ コンテンツを含む varbinary 列として格納し、それをジオメトリ値にキャストします。または、代替として varchar 型を使用し、既知のテキストとしてデータを格納します。
json varchar を使用します。
xml 同等の対象なし。
ユーザー定義型 (CLR) 同等の対象なし。

サポートされていないデータ型を 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(8000) varchar(8000) (Latin1_General_100_BIN2_UTF8 照合順序を使用)
BINARY varbinary(n)
DECIMALDECNUMERIC decimal(p,s)

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