Dela via


Funktionen exists

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar sant om func är sant för ett element i expr eller query returnerar minst en rad.

Syntax

exists(expr, func)
exists(query)

Argument

  • expr: Ett ARRAY-uttryck.
  • func: En lambda-funktion.
  • query: Alla frågor.

Returer

EN BOOLESK.

Lambda-funktionen måste resultera i ett booleskt värde och fungera på en parameter, som representerar ett element i matrisen.

exists(query) kan endast användas i WHERE-satsen och få andra specifika fall.

Exempel

> 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