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