在 Google BigQuery 中,JSON_EXTRACT
函数用于从 JSON 字符串中提取数据。如果你只想提取 JSON 数组中的第一个条目,可以使用 JSON_EXTRACT
函数结合 JSONPath 表达式来实现。
假设你有一个包含 JSON 数据的表 my_table
,其中有一列 json_column
存储了 JSON 字符串。以下是一个示例 JSON 数据:
{
"items": [
{"id": 1, "name": "Item 1"},
{"id": 2, "name": "Item 2"},
{"id": 3, "name": "Item 3"}
]
}
要提取 JSON 数组 items
中的第一个条目,可以使用以下 SQL 查询:
SELECT
JSON_EXTRACT(json_column, '$.items[0]') AS first_item
FROM
my_table;
在这个查询中,$.items[0]
是 JSONPath 表达式,用于选择 items
数组中的第一个元素。
如果你只想提取第一个条目中的特定字段,例如 name
字段,可以使用以下查询:
SELECT
JSON_EXTRACT_SCALAR(json_column, '$.items[0].name') AS first_item_name
FROM
my_table;
在这个查询中,$.items[0].name
是 JSONPath 表达式,用于选择 items
数组中第一个元素的 name
字段。JSON_EXTRACT_SCALAR
函数用于提取标量值(如字符串、数字等)。
假设你的表 my_table
中有以下数据:
json_column |
---|
{"items": [{"id": 1, "name": "Item 1"}, {"id": 2, "name": "Item 2"}, {"id": 3, "name": "Item 3"}]} |
运行以下查询:
SELECT
JSON_EXTRACT(json_column, '$.items[0]') AS first_item,
JSON_EXTRACT_SCALAR(json_column, '$.items[0].name') AS first_item_name
FROM
my_table;
结果将是:
first_item | first_item_name |
---|---|
{"id": 1, "name": "Item 1"} | Item 1 |
领取专属 10元无门槛券
手把手带您无忧上云