Encontra os elementos presentes no Array a que não existem no Array b e os retorna como um novo array sem duplicatas.
Sintaxe
array<T> array_except(array<T> <a>, array<T> <b>)
Parâmetros
a e b: obrigatórios. Esses parâmetros especificam arrays. T em array<T> indica o tipo de dados dos elementos nos arrays. Os elementos podem ser de qualquer tipo de dados. Os elementos do Array a e os elementos do Array b devem ser do mesmo tipo de dados.
Valor de retorno
A função retorna um valor do tipo ARRAY. O valor de retorno varia de acordo com as seguintes regras:
O array retornado não contém elementos duplicados, e os elementos seguem a mesma ordem do Array a.
Se um elemento em um array for null, esse elemento null participará da operação.
Quando um dos arrays de entrada estiver vazio, a função retorna um novo array sem duplicatas com base no array não vazio.
Caso ambos os arrays de entrada estejam vazios, a função retorna um array vazio.
Exemplos
-
Exemplo 1: encontre os elementos presentes em
array(1, 1, 3, 3, 5, 5)que não existem emarray(1, 1, 2, 2, 3, 3)e retorne-os como um novo array sem duplicatas. Instrução de exemplo:-- The return value is [5]. select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3)); -
Exemplo 2: encontre os elementos presentes em
array(1, 1, 3, 3, 5, 5, null, null)que não existem emarray(1, 1, 2, 2, 3, 3)e retorne-os como um novo array sem duplicatas. Instrução de exemplo:-- The return value is [5,null]. select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3)); -
Exemplo 3: identifique os elementos presentes em um array que não existem em outro e retorne-os como um novo array sem duplicatas. Um dos arrays de entrada está vazio. Instrução de exemplo:
-- The return value is [2,1]. select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); -
Exemplo 4: localize os elementos presentes em um array que não existem em outro e retorne-os como um novo array sem duplicatas. Ambos os arrays de entrada estão vazios. Instrução de exemplo:
-- The return value is []. select array_except(cast(array() as array<int>), cast(array() as array<int>));
Funções relacionadas
ARRAY_EXCEPT é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.