判断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数据)的处理函数请参见复杂类型函数。