適用対象:✅ Microsoft Fabric の SQL エンドポイントおよびウェアハウス
Microsoft Fabric におけるテーブルでは、最もよく使用される T-SQL データ型がサポートされています。
- テーブル作成について詳しくは、テーブルに関するページをご覧ください。
- Warehouse のサポートされるデータ型は、Fabric でサポートされている SQL データベースのデータ型とは異なります。
- 構文については、「CREATE TABLE」を参照してください
ウェアハウス内のデータ型
ウェアハウスでは、T-SQL データ型のサブセットがサポートされています。 提供される各データ型は、同じ名前の SQL Server データ型に基づいています。 詳細については、次の表の各リファレンス記事を参照してください。
カテゴリ | サポートされているデータ型 |
---|---|
厳密な数値 | |
概数 | |
日付と時刻 | |
固定長の文字列 | |
可変長の文字列 |
|
バイナリ文字列 |
|
* datetime2 と time の精度に関しては、秒の小数部が 6 桁までとなります。
** uniqueidentifier データ型は、Delta Parquet において一致するデータ型がない T-SQL データ型です。 そのため、それはバイナリ型として格納されます。 ウェアハウスでは uniqueidentifier 列の格納と読み取りがサポートされていますが、SQL 分析エンドポイントではこれらの値を読み取れません。 レイクハウスで uniqueidentifier 値を読み取ると、元の値のバイナリ表現が表示されます。 その結果、uniqueidentifier 列を使用したウェアハウスと SQL 分析エンドポイントの間のクロス結合などの機能は期待通りには機能しません。
現在、Warehouseのプレビュー段階では、varchar (max) と varbinary (max) のサポートが行われています。 One Lake の基になる Delta Lake ファイルの文字列列は、SQL 分析エンドポイントの varchar(max)
サポートされているデータ型の詳細 (その精度など) については、CREATE TABLE のリファレンスで「データ型」をご覧ください。
サポートされていないデータ型
現在サポートされていない T-SQL データ型については、代替手段を使用できます。 これらの型を使用する場合は、精度やクエリ動作が異なる可能性があるため、必ず評価してください。
サポートされていないデータ型 | 使用できる代替手段 |
---|---|
money と smallmoney | decimal を使用します。ただし、それには通貨単位を格納できないことに注意してください。 |
datetime および smalldatetime | datetime2 を使用します。 |
datetimeoffset | CAST 関数と AT TIME ZONE (Transact-SQL) の関数を使用してデータを変換する場合、datetime2 を使用しますが、必要に応じて datetimeoffset を使用することもできます。 例については、 datetimeoffset を参照してください。 |
nchar と nvarchar | Parquet には同様の unicode データ型がないため、それぞれ char と varchar を使用します。 UTF-8 照合順序を使用した char 型とvarchar型では、Unicode データの格納に ncharや nvarchar よりも多くの記憶域が使用される場合があります。 ご使用の環境での影響を確認するには、「UTF-8 と UTF-16 でのストレージの相違点」をご覧ください。 |
text と ntext | varchar を使用します。 |
画像 | varbinary を使用します。 |
tinyint | smallint を使用します。 |
地理学 | 地理データを (緯度、経度) 列ペア、または既知のバイナリ コンテンツを含む varbinary 列として格納し、geography 値にキャストします。 代わりに、varchar 型 |
幾何学 | ジオメトリ データを (緯度、経度) 列ペアとして、または既知のバイナリ コンテンツを含む varbinary 列として格納し、それをジオメトリ値にキャストします。または、代替として varchar 型を使用し、既知のテキストとしてデータを格納します。 |
json | varchar を使用します。 |
xml | 同等のものなし。 |
ユーザー定義型 (CLR) | 同等のものなし。 |
T-SQL コードでは、サポートされていないデータ型は、変数、関数およびストアド プロシージャのパラメーターまたは出力、またはセッションでのメモリ内使用に引き続き使用できます。 ディスク上のデータを保持するテーブルやビューをこれらの型を使用して作成することは許可されていません。
ウェアハウスにおいてテーブルを作成するためのガイドは、テーブルの作成に関するページをご覧ください。
SQL 分析エンドポイントで自動生成されたデータ型
SQL 分析エンドポイントでのテーブルは、関連するレイクハウスにおいてテーブルが作成されるたびに自動的に作成されます。 SQL 分析エンドポイントのテーブル内の列の型は、ソースの Delta 型から導出されます。
SQL 分析エンドポイントで元の Delta 型が SQL 型にマッピングされる際の規則を次の表に示します:
Delta データ型 | SQL データ型マップ (マッピング済) |
---|---|
LONG、BIGINT | bigint |
BOOLEAN、BOOL | ビット |
INT、INTEGER | int |
TINYINT、BYTE, SMALLINT、SHORT | smallint |
ダブル | フロート |
FLOAT、REAL | 本当の |
日付 | 日付 |
タイムスタンプ | datetime2 |
CHAR(n) |
varchar(n) Latin1_General_100_BIN2_UTF8 との照合 |
STRING、VARCHAR(n) |
varchar(n) Latin1_General_100_BIN2_UTF8 との照合 |
STRING、VARCHAR(8000) | 照合順序を使用する (8000) |
バイナリ | varbinary(n) |
DECIMAL、DEC、NUMERIC | 小数(p,s) |
この表で示されていない型の列は、SQL 分析エンドポイントにおいてテーブル列として表されません。