下面的查询以单个JSON字符串的形式返回整个表( JSON对象列表-每一行一个):
SELECT * FROM MyTable FOR JSON AUTO 我需要返回多行,其中每一行将是表的一个信号行的JSON字符串。
例如,如果表字段是A、B、C输出,则应该是:
{A: <value>, B: <value>, C: <value>}
{A: <value>, B: <value>, C: <value>}
{A: <value>, B: <value>, C: <value>}
...
{A: <value>, B: <value>, C: <value>}如何在TSQL ?中做到这一点
虽然可以通过连接字符串手工构造JSON字符串,但我更倾向于重用现有工具,该工具可以处理像值中的引号这样的情况。
发布于 2017-10-18 04:02:49
这将从select语句中逐行返回json数据。
DECLARE @json NVARCHAR(Max)
SET @json = (SELECT * FROM [Sales].[Customers] FOR JSON PATH, ROOT('data'))
SELECT value
FROM OPENJSON(@json,'$.data');发布于 2019-11-13 01:25:02
以防其他人在这件事上绊倒。类似于@Waldemar,但在相关子查询中不需要自连接:
SELECT (SELECT A, B, C FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)
FROM MyTable列A、B和C来自FROM中的"MyTable“,而不需要第二个引用和隐式自联接。
发布于 2020-11-28 13:05:01
可以将记录转换为JSON对象,如下所示:
SELECT *
FROM MyTable
FOR JSON PATH, WITHOUT_ARRAY_WRAPPERhttps://stackoverflow.com/questions/46801908
复制相似问题