Partilhar via


Função exists

Aplica-se a:Assinalado como sim Databricks SQL Assinalado como sim Databricks Runtime

Retorna verdadeiro se func for verdade para qualquer elemento em expr ou query retornar pelo menos uma linha.

Sintaxe

exists(expr, func)
exists(query)

Argumentos

  • expr: Uma expressão ARRAY.
  • func: Uma função lambda.
  • query: Qualquer consulta.

Devoluções

UM BOOLEAN.

A função lambda deve resultar em um booleano e operar em um parâmetro, que representa um elemento na matriz.

exists(query) só pode ser utilizado na cláusula WHERE e em alguns outros casos específicos.

Exemplos

> SELECT exists(array(1, 2, 3), x -> x % 2 == 0);
 true
> SELECT exists(array(1, 2, 3), x -> x % 2 == 10);
 false
> SELECT exists(array(1, NULL, 3), x -> x % 2 == 0);
 NULL
> SELECT exists(array(0, NULL, 2, 3, NULL), x -> x IS NULL);
 true
> SELECT exists(array(1, 2, 3), x -> x IS NULL);
 false

> SELECT count(*) FROM VALUES(1)
   WHERE exists(SELECT * FROM VALUES(1), (2), (3) AS t(c1) WHERE c1 = 2);
  1
> SELECT count(*) FROM VALUES(1)
   WHERE exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
  0
> SELECT count(*) FROM VALUES(1)
     WHERE NOT exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
  1