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 string
数字类型 int、bigint、float、decimal、numeric 数字
位类型 bit 布尔值(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 数据库中的 JSON

Microsoft 视频

有关 SQL Server 和 Azure SQL 数据库中内置 JSON 支持的视频介绍,请观看以下视频:

另请参阅

借助 FOR JSON 将查询结构的格式设置为 JSON (SQL Server)