适用于:SQL Server 2016 (13.x)及更高版本
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics(仅限无服务器 SQL 池)
Microsoft Fabric 中的 SQL 分析终结点
Microsoft Fabric 中的仓库
Microsoft Fabric 预览版中的 SQL 数据库
FOR JSON 子句在 JSON 输出中使用以下规则将 SQL Server 数据类型转换为 JSON 类型。
| Category | SQL Server 数据类型 | JSON 数据类型 |
|---|---|---|
| 字符和字符串类型 | char、nchar、varchar、nvarchar | 字符串 |
| Numeric types | int、bigint、float、decimal、numeric | number |
| Bit type | bit | 布尔值(true 或 false) |
| 日期和时间类型 | date、datetime、datetime2、time、datetimeoffset | 字符串 |
| Binary types | varbinary、binary、image、timestamp、rowversion/ | BASE64-encoded string |
| CLR types | geometry、geography、其他 CLR 类型 | Not supported. 这些类型将返回错误。 在 SELECT 语句中,使用 CAST 或 CONVERT,或使用 CLR 属性或方法,将源数据转换为可成功转换成 JSON 类型的 SQL Server 数据类型。 例如,对 geometry 类型使用 STAsText(),或对任何 CLR 类型使用 ToString()。 然后,JSON 输出值的类型将派生自 SELECT 语句中应用的转换的返回类型。 |
| Other types | uniqueidentifier, money | 字符串 |
详细了解 SQL 数据库引擎中的 JSON
有关内置 JSON 支持的视觉简介,请参阅以下视频:
Related content
- 使用 FOR JSON 将查询结果格式化为 JSON