Map Functions
| 名称 | 描述 |
|---|---|
cardinality(map) | 返回 map 的大小(即 map 中条目的数量)。 |
element_at(map, key) | 返回给定 key 对应的值(以列表形式返回);如果 map 中不包含该 key,则返回空列表。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
map_concat(maps...) | 返回一个由输入 maps 合并而成的 map。若发生 key 冲突,则采用最后一个包含该 key 的 map 中的值。 |
map_contains(map, key) | 检查 map 是否包含给定 key。 |
map_contains_entry(map, key, value) | 检查 map 是否包含给定的 key-value 对。 |
map_contains_value(map, value) | 检查 map 是否包含给定 value。 |
map_entries(map) | 返回一个列表,其中包含 map 中每个 key-value 对对应的 struct(k, v)。 |
map_extract(map, key) | 返回给定 key 对应的值(以列表形式返回);如果 map 中不包含该 key,则返回空列表。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
map_extract_value(map, key) | 返回给定 key 对应的值;如果 map 中不包含该 key,则返回 NULL。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
map_from_entries(STRUCT(k, v)[]) | 返回一个由数组中各条目构建而成的 map。 |
map_keys(map) | 返回 map 中所有 key 的列表。 |
map_values(map) | 返回 map 中所有 value 的列表。 |
map() | 返回空 map。 |
map[entry] | 返回给定 key 对应的值;如果 map 中不包含该 key,则返回 NULL。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
cardinality(map)
| 描述 | 返回 map 的大小(即 map 中条目的数量)。 |
| 示例 | cardinality(map([4, 2], ['a', 'b'])) |
| 结果 | 2 |
element_at(map, key)
| 描述 | 返回给定 key 对应的值(以列表形式返回);如果 map 中不包含该 key,则返回空列表。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
| 示例 | element_at(map([100, 5], [42, 43]), 100) |
| 结果 | [42] |
| 别名 | map_extract(map, key) |
map_concat(maps...)
| 描述 | 返回一个由输入 maps 合并而成的 map。若发生 key 冲突,则采用最后一个包含该 key 的 map 中的值。 |
| 示例 | map_concat(MAP {'key1': 10, 'key2': 20}, MAP {'key3': 30}, MAP {'key2': 5}) |
| 结果 | {key1=10, key2=5, key3=30} |
map_contains(map, key)
| 描述 | 检查 map 是否包含给定 key。 |
| 示例 | map_contains(MAP {'key1': 10, 'key2': 20, 'key3': 30}, 'key2') |
| 结果 | true |
map_contains_entry(map, key, value)
| 描述 | 检查 map 是否包含给定的 key-value 对。 |
| 示例 | map_contains_entry(MAP {'key1': 10, 'key2': 20, 'key3': 30}, 'key2', 20) |
| 结果 | true |
map_contains_value(map, value)
| 描述 | 检查 map 是否包含给定 value。 |
| 示例 | map_contains_value(MAP {'key1': 10, 'key2': 20, 'key3': 30}, 20) |
| 结果 | true |
map_entries(map)
| 描述 | 返回一个列表,其中包含 map 中每个 key-value 对对应的 struct(k, v)。 |
| 示例 | map_entries(map([100, 5], [42, 43])) |
| 结果 | [{'key': 100, 'value': 42}, {'key': 5, 'value': 43}] |
map_extract(map, key)
| 描述 | 返回给定 key 对应的值(以列表形式返回);如果 map 中不包含该 key,则返回 NULL。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会返回错误。 |
| 示例 | map_extract(map([100, 5], [42, 43]), 100) |
| 结果 | [42] |
| 别名 | element_at(map, key) |
map_extract_value(map, key)
| 描述 | 返回给定 key 对应的值;如果 map 中不包含该 key,则返回 NULL。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
| 示例 | map_extract_value(map([100, 5], [42, 43]), 100); |
| 结果 | 42 |
| 别名 | map[key] |
map_from_entries(STRUCT(k, v)[])
| 描述 | 返回一个由数组中各条目构建而成的 map。 |
| 示例 | map_from_entries([{k: 5, v: 'val1'}, {k: 3, v: 'val2'}]) |
| 结果 | {5=val1, 3=val2} |
map_keys(map)
| 描述 | 返回 map 中所有 key 的列表。 |
| 示例 | map_keys(map([100, 5], [42,43])) |
| 结果 | [100, 5] |
map_values(map)
| 描述 | 返回 map 中所有 value 的列表。 |
| 示例 | map_values(map([100, 5], [42, 43])) |
| 结果 | [42, 43] |
map()
| 描述 | 返回空 map。 |
| 示例 | map() |
| 结果 | {} |
map[entry]
| 描述 | 返回给定 key 对应的值;如果 map 中不包含该 key,则返回 NULL。第二个参数提供的 key 类型必须与 map 的 key 类型匹配,否则会抛出错误。 |
| 示例 | map([100, 5], ['a', 'b'])[100] |
| 结果 | a |
| 别名 | map_extract_value(map, key) |