如何在SQL Server 2008中将数据转换为json格式?

时间:2015-12-19 17:41:26

标签: sql json sql-server sql-server-2008

我正在使用SQL Server 2008,并希望将表数据转换为json格式。我可以通过触发查询直接转换它吗?

3 个答案:

答案 0 :(得分:4)

我创建了一个可以获取表并输出JSON的存储过程。你可以在

找到它

运行存储过程后,您可以通过拨打以下内容来输出表格:

EXEC SQLTableOrViewToJSON 'MyTable', 'C:\WhereIStowMyJSON\'

答案 1 :(得分:2)

SQL Server 2016中添加了对格式化查询结果的内置支持,它将在Azure数据库中提供。 在旧版本中,您需要使用CLR或一些重型TSQL,如:

答案 2 :(得分:-1)

上述解决方案似乎不必要地复杂;从2008年开始,SQL Server支持以下语法(DBA StackExchange的答案)

SELECT * FROM dbo.x FOR JSON AUTO;

上面的查询返回一个看起来像这样的JSON格式的列(假设dbo.x包含相应类型的列col1col4):

[{"col1":"val1","col2":"val2","col3":5,"col4":"2019-02-11"}]

此处有更多详细信息/选项:https://docs.microsoft.com/en-us/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server