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