【问题标题】:T-sql and json and XMLT-sql 和 json 和 XML
【发布时间】:2016-08-25 00:09:20
【问题描述】:

有人知道如何让智能感知在 SSMS 的查询窗口中为 JSON 方法工作吗?

我刚开始从远程数据库查询,由于某种原因,当我尝试在 t-sql 编辑器中输入方法时,例如 isjson(),没有显示任何功能。

我需要导入任何包吗?

【问题讨论】:

  • 在sql server中使用json仅来自sql server 2016。
  • 谢谢。 XML 会是我要走的路吗?最好的,迈克尔
  • 如果远程数据库可以返回 XML - 那将是最好的,TSQL 有很多方法可以处理 XML。但是,如果您只返回 JSON,您可以使用像 sqlsunday.com/2013/05/12/… 这样的 JSON-to-XML 转换函数,最后仍然可以使用 XML
  • 非常感谢大家。真的很感激。这非常有帮助

标签: sql-server json tsql ssms


【解决方案1】:

您可以通过创建此过程来使用 Json 格式:

CREATE PROCEDURE [dbo].[sp_query_json]
            @query nvarchar(4000) 
AS 
BEGIN

SET NOCOUNT ON;

         Declare @query_adjust nvarchar(max)
         set @query_adjust = 'select ' + '''[''' 
                               + ' + replace(replace(replace(replace(replace((' 
                               + @query + '  for xml raw ),'
                               + '''<row ''' + ',' + '''{"''' + '),' 
                               + '''/>''' + ',' + '''},''' + '),' 
                               + '''" ''' + ',' + '''","''' + '),' 
                               + '''="''' + ',' + '''":"''' + ') + ' 
                               + ''']''' + ',' 
                               + ''',]''' + ',' + ''']''' + ')'


     EXECUTE sp_executesql @query_adjust 
END

你可以这样测试查询:

EXECUTE [dbo].[sp_query_json] 'select id,name from table'

这会调用真正的 Table 或 View 并使用

将其更改为 XML
For XML RAW

并将 XML 标签替换为 JSON 之类的

【讨论】:

    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 2019-12-05
    • 2020-06-01
    • 1970-01-01
    • 2011-01-20
    • 2016-01-07
    相关资源
    最近更新 更多