使用FOR JSON PATH,我可以使INCLUDE_NULL_VALUES可选吗?

时间:2017-09-21 00:53:24

标签: sql-server json tsql stored-procedures

我正在编写存储过程以返回JSON格式的结果。我想添加一个输入参数,以使用CASE表达式选择性地启用INCLUDE_NULL_VALUES,但我无法使其工作。 @includeNullValues是默认为0的输入参数。任何人都可以帮忙吗?

SELECT.....

FROM         #matterdetail md
ORDER BY CASE  
    WHEN @includeNullValues = 1 THEN
            md.FileNumber
            FOR JSON PATH, INCLUDE_NULL_VALUES  
    ELSE
        md.FileNumber
        FOR JSON PATH
END

1 个答案:

答案 0 :(得分:0)

您始终可以检查MSDN中该子句的语法。在这个case中我们有:

enter image description here

您可以看到如何read语法here。因此,您不能同时使用变量或表达式。

您有以下选择:

  • 使用IF ELSE
  • 控制流量
  • 构建动态T-SQL语句并执行它