---
title: "数组函数概述 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 数组函数概述 数组函数是 OceanBase 数据库系统中提供的一组专门用于处理数组数据的函数。这些函数允许用户执行复杂的数组查询和分析。 以下是一些 OceanBase 的数组函数及其用途的概述： 数组函数类型 数组函数类型 描述 数组构造函数 用于构建新的数组数据类型的函数。 数组判断函数 对输入的数组数据进行逻…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# 数组函数概述

更新时间：2026-04-09 19:35:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/950.array-functions-of-mysql-mode/100.array-functions-overview-of-mysql-mode.md)  

数组函数是 OceanBase 数据库系统中提供的一组专门用于处理数组数据的函数。这些函数允许用户执行复杂的数组查询和分析。

以下是一些 OceanBase 的数组函数及其用途的概述：

## 数组函数类型

| 数组函数类型 | 描述 |
| --- | --- |
| [数组构造函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480634) | 用于构建新的数组数据类型的函数。 |
| [数组判断函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480632) | 对输入的数组数据进行逻辑判断，并返回布尔值的函数。 |
| [数组输出函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480635) | 对输入的数组数据进行输出，并返回输出后的数组数据。 |
| [数组操作函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480636) | 对输入的数组数据进行基本操作，如添加元素、删除元素、查找元素等，并返回操作后的数组数据。 |

## 数组函数全览

OceanBase 数据库当前支持的所有数组函数如下所示：

| 函数类型 | 函数名称 | 描述 |
| --- | --- | --- |
| 数组构造函数 | array | 用于构建一个数组数据。 |
| 数组构造函数 | rb_build | 用于将基础类型为整数的数组数据转换为高效压缩位图数据（RoaringBitmap）。 |
| 运算符 | [] | 用于构建一个数组数据。 |
| 数组判断函数 | array_contains | 判断数组中是否含有某个元素。 |
| 数组判断函数 | array_contains_all | 判断输入的数组是否包含另一个数组中的所有元素。 |
| 数组判断函数 | array_overlaps | 判断两个数组是否存在交集。 |
| 运算符 | ANY | 判断数组中是否含有某个元素，和 `array_contains()` 函数功能相同。 |
| 数组输出函数 | array_to_string | 将数组转换为字符串。具体而言，即根据指定的分隔符和空元素符将数组中的所有基础元素打印成字符串。 |
| 数组操作函数 | array_append | 用于向目标数组中新增指定元素。 |
| 数组操作函数 | array_distinct | 用于对目标数组进行去重操作。 |
| 数组操作函数 | array_remove | 用于对目标数组进行删除指定元素操作。 |
| 数组操作函数 | cardinality | 用于返回目标数组的基础元素数量。 |
| 数组操作函数 | element_at | 根据索引，返回目标数组中指定位置的元素。 |
| 数组操作函数 | string_to_array | 根据指定分隔符将字符串拆分为字符串数组。 |
| 数组操作函数 | array_agg | 用于将指定列上的多行数据汇聚成 1 个数组值并返回结果。 |
| 数组操作函数 | unnest | 用于将数组中的元素展开为多行，并返回一个包含这些元素的关系表。 |
| 数组操作函数 | array_prepend | 用于在数组的开头添加一个元素，并返回一个新的数组。 |
| 数组操作函数 | array_concat | 用于将多个数组合并，并返回一个新的数组。 |
| 数组操作函数 | array_compact | 用于删除数组中连续重复的元素，并返回一个新的数组。 |
| 数组操作函数 | array_sort | 用于对数组进行升序排序，并且在排序时将 `NULL` 值放在数组的最后。 |
| 数组操作函数 | array_length | 用于返回数组的长度。如果是嵌套数组，返回的是第一层数组的长度。 |
| 数组操作函数 | array_range | 用于生成一个等差数列数组。 |
| 数组操作函数 | array_sum | 用于计算数组中所有元素的总和。 |
| 数组操作函数 | array_diffrence | 用于计算数组中两个相邻元素的差值，并将结果存储在一个新的数组中返回。 |
| 数组操作函数 | array_min | 用于返回数组中的最小值，`NULL` 值会被忽略。 |
| 数组操作函数 | array_max | 用于返回数组中的最大值，`NULL` 值会被忽略。 |
| 数组操作函数 | array_avg | 用于返回数组中所有元素的平均值，`NULL` 值当作 `0` 计算。 |
| 数组操作函数 | array_position | 用于查找数组中指定元素的位置。 |
| 数组操作函数 | array_slice | 用于从数组的指定位置开始提取一部分元素，并将提取的元素组成新的数组返回。 |
| 数组操作函数 | reverse | 用于逆序排列数组中的元素。如果是嵌套数组，则逆序排列第一层的元素。 |
| 数组操作函数 | array_map | 用于将输入的每个数组的元素按照 Lambda 函数进行转换，并将每次转换后得到的所有新元素合成 1 个新的数组作为输出结果。 |
| 数组操作函数 | array_filter | 根据 Lambda 函数的返回值来决定是否过滤数组中的元素。 |
| 数组操作函数 | array_sortby | 根据给定的 Lambda 函数对一个数组进行排序。 |
| 数组操作函数 | array_first | 用于返回数组中第一个使得给定的 Lambda 函数返回值不为 `0` 的元素。 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
