15.18. Map Functions and Operators
Subscript Operator: []
The [] operator is used to retrieve the value corresponding to a given key from a map:
SELECT name_to_age_map['Bob'] AS bob_age;
Map Functions
-
cardinality(x) → bigint Returns the cardinality (size) of the map
x.
-
element_at(map<K, V>, key) → V Returns value for given
key, orNULLif the key is not contained in the map.
-
map() → map<unknown, unknown> Returns an empty map.
SELECT map(); -- {}
-
map(array<K>, array<V>) → map<K,V> Returns a map created using the given key/value arrays.
SELECT map(ARRAY[1,3], ARRAY[2,4]); -- {1 -> 2, 3 -> 4}
See also
map_agg()andmultimap_agg()for creating a map as an aggregation.
-
map_concat(x<K, V>, y<K, V>) → map<K,V> Returns the union of two maps. If a key is found in both
xandy, that key’s value in the resulting map comes fromy.
-
map_filter(map<K, V>, function) → map<K,V> See
map_filter().
-
transform_keys(map<K1, V>, function) → MAP<K2,V> See
transform_keys().
-
transform_values(map<K, V1>, function) → MAP<K,V2> See
transform_values().
-
map_keys(x<K, V>) → array<K> Returns all the keys in the map
x.
-
map_values(x<K, V>) → array<V> Returns all the values in the map
x.