判斷ARRAY數組a中是否存在元素滿足predicate條件。
命令格式
boolean any_match(array<T> <a>, function<T, boolean> <predicate>)
參數說明
a:必填。ARRAY數組。
array<T>
中的T
指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。predicate:必填。用於對ARRAY數組a中的元素進行判斷的函數(內建函數或自訂函數)或運算式。輸入參數的資料類型必須與ARRAY數組a中元素的資料類型一致。
傳回值說明
返回BOOLEAN類型。返回規則如下:
如果ARRAY數組a中存在一個或多個元素滿足predicate條件,返回結果為True。
如果ARRAY數組a中沒有元素滿足predicate條件或ARRAY數組為空白,返回結果為False。
如果ARRAY數組a中存在元素為NULL,且其他元素都不滿足predicate條件,返回結果為NULL。
使用樣本
樣本1:判斷ARRAY數組
array(1, 2, -10, 100, -30)
中是否有元素滿足xx > 3
條件。命令樣本如下。--返回true。 select any_match(array(1, 2, -10, 100, -30), x-> x > 3);
樣本2:ARRAY數組為空白。命令樣本如下。
--返回false。 select any_match(array(), x-> x > 3);
樣本3:判斷ARRAY數組
array(1, 2, -10, -20, -30)
中是否有元素滿足x-> x > 3
條件。命令樣本如下。--返回false。 select any_match(array(1, 2, -10, -20, -30), x-> x > 3);
樣本4:判斷存在NULL元素的ARRAY數組
array(1, 2, null, -10)
中是否有元素滿足x-> x > 3
條件。命令樣本如下。--返回NULL。 select any_match(array(1, 2, null, -10), x-> x > 3);