- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAYS_OVERLAP¶
Compara se duas matrizes têm pelo menos um elemento em comum. Retorna TRUE se houver pelo menos um elemento em comum; caso contrário, retorna FALSE. A função é NULL-safe, ou seja, trata NULLs como valores conhecidos para comparar a igualdade.
- Consulte também:
Sintaxe¶
ARRAYS_OVERLAP( <array1> , <array2> )
Notas de uso¶
Ao comparar objetos, eles devem ser idênticos para retornar TRUE. Para obter mais detalhes, consulte Exemplos (neste tópico).
Ambos os argumentos devem ser ARRAYs estruturadas ou ARRAYs semiestruturadas.
Se você estiver passando ARRAYs estruturadas, a ARRAY no segundo argumento deverá ser comparável à ARRAY no primeiro argumento.
Exemplos¶
Aqui estão alguns exemplos:
SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'), array_construct('hello', 'hi', 'hey')) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+ SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'), array_construct('hola', 'bonjour', 'ciao')) AS Overlap; +---------+ | OVERLAP | |---------| | False | +---------+ SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2), array_construct(object_construct('b',2,'c',3), 3, 4)) AS Overlap; +---------+ | OVERLAP | |---------| | False | +---------+ SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2), array_construct(object_construct('a',1,'b',2), 3, 4)) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+
O exemplo seguinte mostra que os valores NULL são considerados iguais a outros valores NULL. Se cada matriz contiver um valor NULL, então as matrizes se sobrepõem, mesmo que nenhum outro valor (diferente de NULL) se sobreponha:
SELECT ARRAYS_OVERLAP(ARRAY_CONSTRUCT(1, 2, NULL), ARRAY_CONSTRUCT(3, NULL, 5)) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+