- 类别:
半结构化和结构化数据函数 (数组/对象)
ARRAY_CONTAINS¶
如果在指定的 ARRAY 中找到指定值,则返回 TRUE。
语法¶
ARRAY_CONTAINS( <value_expr> , <array> )
实参¶
value_expr
要在
array
中查找的值。如果
array
是 半结构化 ARRAY,则value_expr
必须计算为 VARIANT 结果。如果
array
是 结构化 ARRAY,则value_expr
的计算结果必须为与 ARRAY 类型 相当 的类型。
array
要搜索的 ARRAY。
返回¶
此函数返回 BOOLEAN 类型的值:
如果
array
中存在value_expr
,则函数返回 TRUE。如果
array
中不存在value_expr
,则函数返回 FALSE。
使用说明¶
该函数不支持在
value_expr
中使用通配符。但您可以使用 ARRAY_TO_STRING 函数将数组转换为字符串,然后使用通配符搜索字符串。例如,您可以使用通配符,利用 [ NOT ] LIKE 和 REGEXP_LIKE 函数搜索返回的字符串。
示例¶
以下查询使用 ARRAY_CONTAINS 函数:
SELECT ARRAY_CONTAINS('hello'::VARIANT, ARRAY_CONSTRUCT('hello', 'hi'));
+------------------------------------------------------------------+
| ARRAY_CONTAINS('HELLO'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) |
|------------------------------------------------------------------|
| True |
+------------------------------------------------------------------+
SELECT ARRAY_CONTAINS('hello'::VARIANT, ARRAY_CONSTRUCT('hola', 'bonjour'));
+----------------------------------------------------------------------+
| ARRAY_CONTAINS('HELLO'::VARIANT, ARRAY_CONSTRUCT('HOLA', 'BONJOUR')) |
|----------------------------------------------------------------------|
| False |
+----------------------------------------------------------------------+