---
title: "位图判断函数 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 位图判断函数 位图判断函数对输入的位图数据进行一些判断，并返回布尔值。OceanBase 数据库当前所支持的位图判断函数包括 rb_is_empty() 和 rb_contains() 。 rb_is_empty rb_is_empty() 函数判断输入的位图数据是否为空。语法如下： rb_is_empty(rb) …
---
切换语言

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

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

# 位图判断函数

更新时间：2026-03-30 17:11:52

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

位图判断函数对输入的位图数据进行一些判断，并返回布尔值。OceanBase 数据库当前所支持的位图判断函数包括 `rb_is_empty()` 和 `rb_contains()`。

## rb_is_empty

`rb_is_empty()` 函数判断输入的位图数据是否为空。语法如下：

```sql
rb_is_empty(rb)

```

返回结果 `1` 表示为空，`0` 表示不为空。

示例如下：

```sql
SELECT rb_is_empty(rb_from_string(''));
+---------------------------------+
| rb_is_empty(rb_from_string('')) |
+---------------------------------+
|                               1 |
+---------------------------------+
1 row in set

```

```sql
SELECT rb_is_empty(rb_from_string('1,2,3'));
+--------------------------------------+
| rb_is_empty(rb_from_string('1,2,3')) |
+--------------------------------------+
|                                    0 |
+--------------------------------------+
1 row in set

```

## rb_contains

`rb_contains()` 函数有两种用法：

- 用于判断输入的第一个位图数据（`rb1`）是否完全包含输入的第二个位图数据（`rb2`）。
 - 用于判断输入的位图数据是否包含特定的偏移（`offset`）。

两种用法通过不同的语法来实现。具体说明如下。

### 用法一

`rb_contains()` 函数可用于判断输入的第一个位图数据（`rb1`）是否完全包含输入的第二个位图数据（`rb2`）。语法如下：

```sql
rb_contains(rb1, rb2)

```

具体说明如下：

- 输入参数 `rb1` 为计算基础，输入参数 `rb2` 为被计算位图数据，即 `rb2` 中的每个元素是否都在 `rb1` 中。
 - 参数 `rb1` 和 `rb2` 的顺序会影响结果。
 - 返回结果 `1` 表示完全包含，`0` 表示非完全包含。

示例如下：

```sql
SELECT rb_contains(rb_from_string('1,2,3,4,5'), rb_from_string('1,2,3,4'));
+---------------------------------------------------------------------+
| rb_contains(rb_from_string('1,2,3,4,5'), rb_from_string('1,2,3,4')) |
+---------------------------------------------------------------------+
|                                                                   1 |
+---------------------------------------------------------------------+
1 row in set

```

### 用法二

`rb_contains()` 函数可用于判断输入的位图数据是否包含特定的偏移（`offset`）。语法如下：

```sql
rb_contains(rb, offset)

```

具体说明如下：

- 输入参数 `rb` 为计算基础，为一个位图数据。
 - `offset` 必须是一个整数，用于判断该整数是否存在于位图数据 `rb` 中。
 - 返回结果 `1` 表示包含，`0` 表示不包含。

示例如下：

```sql
SELECT rb_contains(rb_from_string('1,2,3,4,5'), 1);
+---------------------------------------------+
| rb_contains(rb_from_string('1,2,3,4,5'), 1) |
+---------------------------------------------+
|                                           1 |
+---------------------------------------------+
1 row in set

```

```sql
SELECT rb_contains(rb_from_string('1,2,3,4,6'), 5);
+---------------------------------------------+
| rb_contains(rb_from_string('1,2,3,4,6'), 5) |
+---------------------------------------------+
|                                           0 |
+---------------------------------------------+
1 row in set

```

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