Bagikan melalui


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.

Mengembalikan

BOOLEAN.

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

exists(query) hanya dapat digunakan dalam klausul WHERE dan beberapa kasus tertentu 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