---
title: "映射操作函数 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 映射操作函数 映射操作函数对输入的映射数据进行一些基本操作，如提取 Key 或 Value 元素，并返回操作后的映射数据。OceanBase 数据库当前所支持的映射操作函数包括 map_keys() 和 map_values() 。 map_keys map_keys() 函数用于返回目标映射中的 Key 列表。语法…
---
切换语言

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

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

# 映射操作函数

更新时间：2026-04-01 18:58:07

[编辑](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/980.map-functions-of-mysql-mode/600.map-manipulation-functions-of-mysql-mode.md)  

映射操作函数对输入的映射数据进行一些基本操作，如提取 Key 或 Value 元素，并返回操作后的映射数据。OceanBase 数据库当前所支持的映射操作函数包括 `map_keys()` 和 `map_values()`。

## map_keys

`map_keys()` 函数用于返回目标映射中的 Key 列表。语法如下：

```sql
map_keys(map)

```

输入参数需为映射数据。

返回值为数组类型。

示例如下：

```sql
SELECT map_keys(map(1,"apple",2,"banana"));
+-------------------------------------+
| map_keys(map(1,"apple",2,"banana")) |
+-------------------------------------+
| [1,2]                               |
+-------------------------------------+
1 row in set

```

```sql
CREATE TABLE t1 (
  id INT NOT NULL AUTO_INCREMENT,
  m MAP(INT, INT)
);

INSERT INTO t1 (m) VALUES ('{1:1,2:2,3:3}');
INSERT INTO t1 (m) VALUES ('{"1":1,  2  : 2 , "3 " : 3}');
INSERT INTO t1 (m) VALUES ('{1.5:2, 1.6:"3"}');

SELECT m, map_keys(m) FROM t1;
+---------------+-------------+
| m             | map_keys(m) |
+---------------+-------------+
| {1:1,2:2,3:3} | [1,2,3]     |
| {1:1,2:2,3:3} | [1,2,3]     |
| {2:3}         | [2]         |
+---------------+-------------+
3 rows in set

```

## map_values

`map_values()` 函数用于返回目标映射中的 Value 列表。语法如下：

```sql
map_values(map)

```

返回值为数组类型。

示例如下：

```sql
SELECT map_values(map(1,"apple",2,"banana"));
+-------------------------------------+
| map_values(map(1,"apple",2,"banana")) |
+-------------------------------------+
| ["apple","banana"]                  |
+-------------------------------------+
1 row in set

```

```sql
-- t1 建表和插入语句见 map_keys 示例
SELECT m, map_values(m) FROM t1;
+---------------+---------------+
| m             | map_values(m) |
+---------------+---------------+
| {1:1,2:2,3:3} | [1,2,3]       |
| {1:1,2:2,3:3} | [1,2,3]       |
| {2:3}         | [3]           |
+---------------+---------------+
3 rows 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) 咨询热线
