Verifica se os arrays a e b possuem elementos em comum.
Formato do comando
boolean arrays_overlap(array<T> <a>, array<T> <b>)
Descrição dos parâmetros
a e b: obrigatórios. Arrays. Em array<T>, o T indica o tipo de dados dos elementos, que podem ser de qualquer tipo. Os elementos de a e b devem ter o mesmo tipo de dados.
Os elementos do array podem ser dos seguintes tipos:
TINYINT, SMALLINT, INT, BIGINT
FLOAT, DOUBLE
BOOLEAN
DECIMAL, DECIMALVAL
DATE, DATETIME, TIMESTAMP, IntervalDayTime, IntervalYearMonth
STRING, BINARY, VARCHAR, CHAR
ARRAY, STRUCT, MAP
Valor de retorno
Retorna um valor BOOLEAN conforme as regras a seguir:
True: se o array a contiver pelo menos um elemento não NULL presente no array b.
NULL: se não houver elementos comuns entre os arrays a e b, ambos forem não vazios e pelo menos um deles contiver um elemento NULL.
False: se não houver elementos comuns entre os arrays a e b, ambos forem não vazios e nenhum deles contiver elementos NULL.
Exemplos de uso
-
Exemplo 1: verificar se há elementos comuns entre os arrays
array(1, 2, 3)earray(3, 4, 5). Comando:--返回true。 select arrays_overlap(array(1, 2, 3), array(3, 4, 5)); -
Exemplo 2: verificar se há elementos comuns entre os arrays
array(1, 2, 3)earray(6, 4, 5). Comando:--返回false。 select arrays_overlap(array(1, 2, 3), array(6, 4, 5)); -
Exemplo 3: verificar o retorno quando um dos arrays contém um elemento NULL. Comando:
--返回NULL。 select arrays_overlap(array(1, 2, 3), array(5, 4, null));
Funções relacionadas
A função ARRAYS_OVERLAP pertence ao conjunto de funções de tipos complexos. Para outras funções de processamento de dados de tipos complexos (como ARRAY, MAP, STRUCT e JSON), consulte Complex type functions.