FOR JSON 如何將 SQL Server 資料類型轉換為 JSON 資料類型 (SQL Server)

適用於: SQL Server 2016 (13.x) 以上版本 Azure SQL 資料庫Azure SQL 受控執行個體Azure Synapse Analytics (僅無伺服器 SQL 集區)

FOR JSON 子句使用下列規則,在 JSON 輸出中將 SQL Server 資料類型轉換為 JSON 類型。

類別 SQL Server 資料類型 JSON 資料類型
字元與字串類型 char、nchar、varchar、nvarchar 字串
數值類型 int、bigint、float、decimal、numeric number
位元類型 bit 布林值 (true 或 false)
日期與時間類型 date、datetime、datetime2、time、datetimeoffset 字串
二進位類型 varbinary、binary、image、timestamp、rowversion BASE64 編碼字串
CLR 類型 geometry、geography、其他 CLR 類型 不支援。 這些類型傳回錯誤。

在 SELECT 陳述式中,使用 CAST 或 CONVERT,或使用 CLR 屬性或方法,將來源資料轉換成可以順利轉換成 JSON 類型的 SQL Server 資料類型。 例如,針對幾何類型使用 STAsText(),或針對任何 CLR 類型使用 ToString()。 之後 JSON 輸出值的類型會衍生自您在 SELECT 陳述式中套用的轉換傳回類型。
其他類型 uniqueidentifier、money 字串

深入了解 SQL Server 和 Azure SQL Database 中的 JSON

Microsoft 影片

如需 SQL Server 和 Azure SQL Database 中內建 JSON 支援的觀看式簡介,請參閱下列影片:

另請參閱

使用 FOR JSON 將查詢結果格式化為 JSON (SQL Server)