[]
        
(Showing Draft Content)

Json Value 和Json Query

Json Value 和Json Query 函数也可以在SQL语句中使用。

Json Value 函数返回一个值,而Json Query 函数则用来返回一个对象或数组。

示例

比如我们来看下边这一段JSON:

{
  "a": "[1,2]",
  "b": [1, 2],
  "c": "hi"
}

在这个例子中,可见“a”和 "c" 的值均为字符串类型,而“b” 的值是一个数组。

那么接下来,我们来看使用Json Value 和Json Query 函数 分别可以返回什么结果:

Path

JSON_VALUE 返回

JSON_QUERY 返回

$

NULL or error

{ "a": "[1,2]", "b": [1,2], "c":"hi"}

$.a

[1,2]

NULL or error

$.b

NULL or error

[1,2]

$.b[0]

1

NULL or error

$.c

hi

NULL or error

那么我们在系统中怎样使用呢?比如我们可以结合表值函数来使用,如下图所示。

image2020-9-17_16-1-57.png


首先使用 JsonQuery 返回 [1,2], 然后使用表值函数 UnwindJson 将其展开。最终的结果为:

image2020-9-17_16-4-23.png