从SQL Server中的JSON中的数组中获取价值

时间:2018-08-01 12:03:24

标签: sql arrays json sql-server

假设我们在数据库表中有此json。我想从标签中选择值。我已经知道如何从这些数据中获取数组,但是我不知道如何访问数组成员。问题是如何从数组中获取第一个值?有执行此任务的功能吗?

{
    "info": {
        "type": 1,
        "address": {
            "town": "Bristol",
            "county": "Avon",
            "country": "England"
        },
        "tags": ["Sport", "Water polo"]
    },
    "type": "Basic"
} 

查询我已经拥有:

SELECT JSON_QUERY(MyTable.Data, '$.info.tags')
FROM MyTable

这使我返回:

["Sport", "Water polo"]

我如何获得

Sport

1 个答案:

答案 0 :(得分:1)

JSON_QUERY返回一个对象或数组。您需要JSON_VALUE返回标量值,例如:

SELECT JSON_VALUE(Data, '$.info.tags[0]')
from MyTable

查看文档中的Compare JSON_VALUE and JSON_QUERY部分以获取更多示例