我正在尝试从表中以json格式检索数据,并在SQL Server中使用以下查询,
Select * from TableA for json path, root( 'table 1')
我得到的 json 响应为 ,
{
"TableA":[
{
"Id":34562,
"A Id":2,
"Name":"ZDR"
}
]
}
其中字段"ID"和"A Id"在数据库中声明为"int"
现在我需要这些值也应该显示在双引号内,有什么方法可以在SQL Server 2016本身中处理,以明确所有字段值,无论数据类型如何,都应括在双引号中,请确实需要完整的!!
像上面的单查询一样,当我运行存储过程时,我最终会在存储过程中设置12个查询,我将得到一个json响应,其中所有值都应括在双引号内。
没有"自动魔法"的方法可以做到这一点。您可以做的是在SELECT
语句中将数字列CAST
为文字(varchar
或nvarchar
):
Select CAST(Id as nvarchar(10)) AS Id,
CAST([A Id], nvarchar(10)) AS "A ID",
[Name]
from TableA for json path, root( 'table 1');
希望这有帮助!