使用for json子句把查询结果作为json字符串导出,将作为sql server 2016中首先可用的一个特性。如果你熟悉for xml子句,那么将很容易理解for json:
如果你把for json子句添加到T-SQL Select查询语句的最后,SQL Server将会把结果格式化为JSON字符串之后在返回到客户端。每一行数据将会格式化为一个json对象,每一个数据字段将会成为行对象的值,列名或者列的别名会作为行对象的键。我们有两种类型的for json子句:
如果你用过PostgreSQL中涉及到JSON的函数和操作符,你会注意到,FOR JSON子句类等价于PostgreSQL中的JSON创建函数比如row_to_json或json_object。FOR JSON子句的主要目的是根据JSON规范把变量、列格式化为JSON对象。比如:
FOR JSON子句主要应用场景: