Compartir vía


Función exists

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve true si func es true para cualquier elemento de expr o query devuelve al menos una fila.

Sintaxis

exists(expr, func)
exists(query)

Argumentos

  • expr: expresión ARRAY.
  • func: una función lambda.
  • query: cualquier consulta.

Devoluciones

Una expresión BOOLEANA.

La función lambda debe dar como resultado un valor booleano y operar en un parámetro, que representa un elemento de la matriz.

exists(query) solo se puede usar en la cláusula WHERE y en algunos otros casos concretos.

Ejemplos

> 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