2017-09-21 26 views
0

我在寫一個存儲過程來返回JSON格式的結果。我想添加一個輸入參數來選擇啓用INCLUDE_NULL_VALUES使用CASE表達式,但我無法讓它工作。 @includeNullValues是默認爲0的輸入參數。任何人都可以在這裏幫助嗎?使用FOR JSON PATH,我可以使INCLUDE_NULL_VALUES爲可選項嗎?

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 

回答

0

您可以隨時在MSDN條款的語法。在這個case有:

enter image description here

你可以看到如何read語法here。所以,你不允許使用變量或表達式。

您有以下選擇:

  • 控制使用IF ELSE
  • 建立動態T-SQL語句並執行它
+0

感謝流量,清盤使用的if/else周圍的全部proc中的最後一個select語句,我找不到一個方法來修改只有order by子句。不漂亮,但它的作品。 –

相關問題