【发布时间】:2019-05-17 04:25:10
【问题描述】:
我的 Microsoft (MS) SQL Server 查询中有一个 json 对象。这个 JSON 对象确实有一个值,它是一个字符串数组。
--this variable holds my JSON object with a value of array type.
declare @json nvarchar(max) = N'{
"value": [
"tapiwanashe",
"robert",
"emmerson",
"ruwimbo",
"takudzwa",
"munyaradzi"
]
}'
我的目标是使用支持的 MS SQL Server JSON 函数编写一个 SQL 查询,该函数在上面的 JSON 对象值数组中生成一个包含一列和六行值的表。
我尝试运行 JSON_QUERY 和 OPENJSON 函数。但是,这两个函数都返回一个字符串数组作为输出。我想要一个一列六行的结果。
select JSON_QUERY(@json, '$.value')
select [value] from OPENJSON(@json)
我得到的结果是:
value
---------------
[
"tapiwanashe",
"robert",
"emmerson",
"ruwimbo",
"takudzwa",
"munyaradzi"
]
但是,我期望得到的结果如下所示:
value
-----------
tapiwanashe
robert
emmerson
ruwimbo
takudzwa
munyaradzi
结果必须保持值在值数组中出现的顺序。
【问题讨论】:
标签: sql json sql-server tsql