---
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-03-13 20:34:44

[编辑](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/940.roaring-bitmap-functions-of-mysql-mode/100.roaring-bitmap-functions-overview-of-mysql-mode.md)  

位图函数是 OceanBase 数据库系统中提供的一组专门用于处理高效压缩位图数据的函数。这些函数允许用户在数据库层面执行复杂的位图查询和分析，使得用户行为分析、用户画像、人群圈选的相关应用能够高效地存储、查询和操作位图数据。

以下是一些 OceanBase 的位图函数类型及其用途的概述：

## 位图函数类型

| 位图函数类型 | 描述 |
| --- | --- |
| [位图构造函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480781) | 用于构建新的位图数据类型的函数。 |
| [位图基数计算函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480779) | 用于位图数据基数的计算。 |
| [位图运算函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480782) | 提供位图数据间基本运算的函数，如交集、并集、异或、与非等。 |
| [位图判断函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480780) | 对输入的位图数据进行一些判断，并返回布尔值的函数。 |
| [位图输出函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480776) | 用于选择位图数据输出形式的函数，如以字符串的形式依次输出位图数据的每一个元素，并以逗号隔开。 |
| [位图聚合函数](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480778) | 提供将数值类型聚合为位图类型，即位图数据间的聚合运算的函数。 |

## 位图函数全览

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

| 函数类型 | 函数名称 | 描述 |
| --- | --- | --- |
| 位图构造函数 | rb_build_empty | 用于构建一个空的位图数据。 |
| 位图构造函数 | rb_build_empty | 用于构建一个空的位图数据。 |
| 位图构造函数 | rb_build_varbinary | 通过 varbinary 来构建位图数据。 |
| 位图构造函数 | rb_from_string | 通过特定格式的字符串来构建位图数据。 |
| 位图构造函数 | rb_select | 根据指定条件，从位图数据值选取局部范围，保存为新的位图数据并返回其值。 |
| 位图基数计算函数 | rb_cardinality | 用于位图数据基数的计算。 |
| 位图基数计算函数 | rb_and_cardinality 和 rb_and_null2empty_cardinality | 返回两个位图数据做与计算后，得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_or_cardinality 和 rb_or_null2empty_cardinality | 返回两个位图数据做或计算后，得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_xor_cardinality | 返回两个位图数据做异或计算后，得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_andnot_cardinality 和 rb_andnot_null2empty_cardinality | 返回两个位图数据做与非计算后，得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_or_cardinality_agg | 计算位图列的并集基数。 |
| 位图基数计算函数 | rb_and_cardinality_agg | 计算位图列的交集基数。 |
| 位图运算函数 | rb_and 和 rb_and_null2empty | 计算两个位图数据的交集。 |
| 位图运算函数 | rb_or 和 rb_or_null2empty | 计算两个位图数据的并集。 |
| 位图运算函数 | rb_xor | 提供了两个位图数据的异或运算。 |
| 位图运算函数 | rb_andnot 和 rb_andnot_null2empty | 提供了两个位图数据的与非运算。 |
| 位图判断函数 | rb_is_empty | 判断输入的位图数据是否为空。 |
| 位图判断函数 | rb_contains | 两种用法：   - 判断输入的第一个位图数据是否完全包含输入的第二个位图数据。 - 判断输入的位图数据是否包含特定的偏移。 |
| 位图输出函数 | rb_to_varbinary | 用于以 varbinary 的形式输出位图数据。 |
| 位图输出函数 | rb_to_string | 以字符串的形式依次输出位图数据的每一个元素，并以逗号隔开。 |
| 位图输出函数 | rb_to_array | 以数组的形式输出位图数据。 |
| 位图聚合函数 | rb_build_agg | 将数值列聚合为位图数据。 |
| 位图聚合函数 | rb_or_agg | 将位图列的多行数据进行或运算，并聚合为位图数据。 |
| 位图聚合函数 | rb_and_agg | 将位图列的多行数据进行与运算，并聚合为位图数据。 |

 上一篇 下一篇 ![有帮助](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) 咨询热线
