首批通过分布式安全可靠测评,为关键业务系统打造
数组判断函数
更新时间:2024-12-06 23:00:00
数组判断函数对输入的数组数据进行一些判断,并返回布尔值。OceanBase 数据库当前所支持的数组判断函数包括 array_contains(),支持的运算符包括 ANY()。
array_contains
array_contains() 函数判断数组中是否含有某个元素。语法如下:
array_contains(arr1, element)
输入参数说明如下:
arr1传入的类型必须是一个数组类型。element用于判断的元素可以是任意类型。
返回结果 1 表示包含,0 表示不包含。
示例如下:
SELECT array_contains([1,2,3], 2);
+----------------------------+
| array_contains([1,2,3], 2) |
+----------------------------+
| 1 |
+----------------------------+
1 row in set
SELECT array_contains([1,2,3], 6);
+----------------------------+
| array_contains([1,2,3], 6) |
+----------------------------+
| 0 |
+----------------------------+
1 row in set
SELECT array_contains(["hello", "hi"], "hel");
+----------------------------------------+
| array_contains(["hello", "hi"], "hel") |
+----------------------------------------+
| 0 |
+----------------------------------------+
1 row in set
SELECT array_contains(["hello", "hi"], "hi");
+---------------------------------------+
| array_contains(["hello", "hi"], "hi") |
+---------------------------------------+
| 1 |
+---------------------------------------+
1 row in set
SELECT array_contains([[1,2],[3,4]], [3.0,4.0]);
+------------------------------------------+
| array_contains([[1,2],[3,4]], [3.0,4.0]) |
+------------------------------------------+
| 1 |
+------------------------------------------+
1 row in set
ANY
ANY() 运算符和 array_contains() 函数功能、输入参数、返回值均相同,语法有差异:
element = ANY(arr1)
示例如下:
SELECT 2 = ANY([1,2,3]);
SELECT 6 = ANY([1,2,3]);
SELECT "hel" = ANY(["hello", "hi"]);
SELECT "hi" = ANY(["hello", "hi"]);
SELECT [3.0,4.0] = ANY([[1,2],[3,4]]);