全部產品
Search
文件中心

MaxCompute:ARRAY_CONTAINS

更新時間:Jun 19, 2024

判斷ARRAY數組a中是否存在元素v

命令格式

boolean array_contains(array<T> <a>, value <v>)

參數說明

  • a:必填。ARRAY數組。array<T>中的T指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。

  • v:必填。待判斷的元素。必須與ARRAY數組a中元素的資料類型一致。

傳回值說明

返回BOOLEAN類型。

使用樣本

例如表t_table_array的欄位為c1 bigint, t_array array<string>,包含資料如下:

+------------+---------+
| c1         | t_array |
+------------+---------+
| 1000       | [k11, 86, k21, 15] |
| 1001       | [k12, 97, k22, 2] |
| 1002       | [k13, 99, k23, 1] |
+------------+---------+

命令樣本如下。

--檢測t_array列是否包含1。
select c1, array_contains(t_array,'1') from t_table_array;
--返回結果如下。
+------------+------+
| c1         | _c1  |
+------------+------+
| 1000       | false |
| 1001       | false |
| 1002       | true |
+------------+------+

相關函數

ARRAY_CONTAINS函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數