- Categorias:
MAP_PICK¶
Retorna um novo MAP contendo os pares chave-valor especificados de um MAP existente.
Para identificar os pares chave-valor a serem incluídos no novo mapa, passe nas chaves como argumentos, ou passe em uma matriz contendo as chaves.
Se uma chave especificada não estiver presente no mapa de entrada, a chave é ignorada.
Sintaxe¶
MAP_PICK( <map>, <key1> [, <key2>, ... ] )
MAP_PICK( <map>, <array> )
Argumentos¶
map
O mapa de entrada.
key1,key2
Uma ou mais chaves que identificam os pares chave-valor a serem incluídos no mapa retornado.
array
Uma matriz de chaves que identifica os pares chave-valor a serem incluídos no mapa retornado. Você pode especificar uma ARRAY semiestruturada ou um ARRAY estruturada.
Retornos¶
Retorna um novo MAP contendo alguns dos pares chave-valor de um MAP existente.
Exemplos¶
Crie um novo mapa que contenha dois dos três pares chave-valor de um mapa existente:
SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER),'a', 'b')
AS new_map;
+-----------+
| NEW_MAP |
|-----------|
| { |
| "a": 1, |
| "b": 2 |
| } |
+-----------+
No exemplo anterior, as chaves são passadas como argumentos para MAP_PICK. Você também pode usar uma matriz para especificar as chaves:
SELECT MAP_PICK({'a':1,'b':2,'c':3}::MAP(VARCHAR,NUMBER), ['a', 'b'])
AS new_map;
+-----------+
| NEW_MAP |
|-----------|
| { |
| "a": 1, |
| "b": 2 |
| } |
+-----------+