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 支持的视频介绍,请观看以下视频:
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈