適用於:SQL Server 2016 (13.x)及以後版本
Azure SQL 資料庫
Azure SQL Managed Instance
Azure Synapse Analytics(僅限 serverless SQL pool 使用)
Microsoft Fabric 中的 SQL Analytics 端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
FOR JSON 子句使用下列規則,在 JSON 輸出中將 SQL Server 資料類型轉換為 JSON 類型。
| Category | 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 陳述式中套用的轉換傳回類型。 |
| 其他類型 | 唯一識別碼, 貨幣 | 字串 |
深入瞭解 SQL Database Engine 中的 JSON
如需內建 JSON 支援的視覺效果簡介,請參閱下列影片: