exists fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan true jika func benar untuk elemen apa pun di expr atau query mengembalikan setidaknya satu baris.

Sintaks

exists(expr, func)
exists(query)

Argumen

  • expr: Ekspresi ARRAY.
  • func: fungsi lambda.
  • query: Kueri apa pun.

Pengembalian

Sebuah Boolean.

Fungsi lambda harus menghasilkan boolean dan beroperasi pada satu parameter, yang mewakili elemen dalam array.

exists(query) hanya dapat digunakan dalam klausa WHERE dan beberapa kasus spesifik lainnya.

Contoh

> 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