Просто еще один вариант, когда вам не нужно выражать отдельные столбцы, используя:
sys.dm_exec_describe_first_result_set()
Пример dbFiddle
Create Table #YourTable (Col1 int,Col2 int,Col3 int)
Insert Into #YourTable values
(1,25,75)
,(3,50,100)
Select coalesce(
(Select Col1,Col2,Col3 From #YourTable Where Col1 = 2 For json auto,include_null_values )
,
(Select '[{'+Stuff((Select Concat(',"',Name,'":""') From sys.dm_exec_describe_first_result_set('Select * from #YourTable',null,null) For XML Path ('')),1,1,'')+'}]' )
)
Возвращает
[{"Col1":"","Col2":"","Col3":""}]