使用for json子句把查询结果做为json字符串导出,将做为sql server 2016中首先可用的一个特性。若是你熟悉for xml子句,那么将很容易理解for json:数据库
select ccolumn, expression, column as alias from table1, table2, table3 for json [auto | path]
若是你把for json子句添加到T-SQL Select查询语句的最后,SQL Server将会把结果格式化为JSON字符串以后在返回到客户端。每一行数据将会格式化为一个json对象,每个数据字段将会成为行对象的值,列名或者列的别名会做为行对象的键。咱们有两种类型的for json子句:express
若是你用过PostgreSQL中涉及到JSON的函数和操做符,你会注意到,FOR JSON子句类等价于PostgreSQL中的JSON建立函数好比row_to_json或json_object。FOR JSON子句的主要目的是根据JSON规范把变量、列格式化为JSON对象。好比:json
set @json = (select 1 as firstKey, getdate() as dateKey, @someVar as thirdKey for json path) -- result is : {"firstKey": 1, "dateKey": "2016-06-15 11:35:21", "thirdKey": "Content of variable"}
FOR JSON子句主要应用场景:数组