首页 > 解决方案 > BigQuery 中 JSON_EXTRACT 和 JSON_QUERY 的区别

问题描述

我想知道 JSON_EXTRACT 和 JSON_QUERY 之间有什么区别。在Bigquery 文档中,他们两个共享相同的解释和示例。

标签: google-bigquery

解决方案


JSON_QUERY()稍后添加以符合 ISO/IEC TR 19075-6:2017 中出现的 JSON 路径的 SQL 标准 2016 版本。

JSON_EXTRACT 和 JSON_QUERY 之间的区别在于如何处理带有点的字段名称,请参见下面的示例

WITH data AS (SELECT """
{
  "a.x" : { "b" : "c" }
}
""" json)
SELECT JSON_QUERY(json, '$."a.x"'), JSON_EXTRACT(json, "$['a.x']")
FROM data;

输出:

+-----------+-----------+
|    f0_    |    f1_    |
+-----------+-----------+
| {"b":"c"} | {"b":"c"} |
+-----------+-----------+

推荐阅读