我正在使用SQL Server 2008,并希望将表数据转换为json格式。我可以通过触发查询直接转换它吗?
答案 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
包含相应类型的列col1
〜col4
):
[{"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