FOR JSON が SQL Server データ型を JSON データ型に変換する方法 (SQL Server)

適用対象: SQL Server 2016 (13.x) Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (サーバーレスのSQLプールのみ)

FOR JSON 句は、次の規則に従って、JSON 出力で SQL Server データ型を JSON 型に変換します。

カテゴリ SQL Server のデータ型 JSON データ型
文字型と文字列型 char、nchar、varchar、nvarchar string
数値型 int、bigint、float、decimal、numeric 数値
ビット型 bit Boolean (true または false)
日付型と時刻型 date、datetime、datetime2、time、datetimeoffset string
バイナリ型 varbinary、binary、image、timestamp、rowversion BASE64 エンコード文字列
CLR 型 geometry、geography、他の CLR 型 サポートされていません。 これらの型はエラーを返します。

SELECT ステートメントで CAST または CONVERT を使用するか、CLR プロパティまたはメソッドを使用して、JSON 型に正常に変換できる SQL Server データ型にソース データを変換します。 たとえば、geometry 型には STAsText() を使い、CLR 型には ToString() を使います。 JSON 出力値の型は、その後 SELECT ステートメントで適用している変換の戻り値の型から派生します。
その他の型 uniqueidentifier、money string

SQL Server と Azure SQL Database の JSON の詳細情報

Microsoft ビデオ

SQL Server と Azure SQL Database に組み込まれている JSON のサポートの視覚的な紹介は、次のビデオをご覧ください。

参照

FOR JSON を使用してクエリ結果を JSON として書式設定する (SQL Server)