跳到主要内容

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) |