---
title: "JSON 数据类型转换 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: JSON 数据类型转换 OceanBase 数据库支持使用 CAST 函数实现其他类型的数据和 JSON 数据类型的相互转换。 JSON 数据类型的转换规则如下表所示。 其他数据类型 CAST(other_type AS JSON) CAST(JSON AS other_type) JSON 没有变化 没有变化 ut…
---
切换语言

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

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

# JSON 数据类型转换

更新时间：2026-07-15 15:16:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/100.basic-elements-of-mysql-mode/100.data-type-of-mysql-mode/800.json-formatted-data-type-of-mysql-mode/400.json-formatted-data-type-conversion-of-mysql-mode.md)  

OceanBase 数据库支持使用 CAST 函数实现其他类型的数据和 JSON 数据类型的相互转换。

JSON 数据类型的转换规则如下表所示。

| 其他数据类型 | CAST(other_type AS JSON) | CAST(JSON AS other_type) |
| --- | --- | --- |
| JSON | 没有变化 | 没有变化 |
| utf8 字符类型 (包括 utf8mb4、utf8 和 ascii) | 字符被转换为 JSON 类型值，并验证合法性。 | 序列化成 utf8mb4 字符串。 |
| 其他字符集类型 | 首先转换成为 utf8mb4 字符编码，之后再按照 utf8 字符类型的描述进行转换。 | 首先序列化成 utf8mb4 编码的字符串，之后再转换成对应字符集的字符串。 |
| NULL | 返回空 JSON 类型值。 | 不适用 |
| 其他类型 | 只有单个的标量值会被转换为一个只具备单独值的 JSON 类型值。 | 如果 JSON 类型值只包含一个标量值，并且与目标类型吻合，则会被转换为对应的类型，否则返回 NULL，并告警。 |

#### 说明

`other_type` 指定除 JSON 外的其它数据类型。

如下为一些转换示例。

```sql
obclient> SELECT CAST("123" AS JSON);
+---------------------+
| CAST("123" AS JSON) |
+---------------------+
| 123                 |
+---------------------+
1 row in set

obclient> SELECT CAST(null AS JSON);
+--------------------+
| CAST(null AS JSON) |
+--------------------+
| NULL               |
+--------------------+
1 row in set

CREATE TABLE tj1 (c1 JSON,c2 VARCHAR(20));
INSERT INTO tj1 VALUES ('{"id": 17, "color": "red"}','apple'),('{"id": 18, "color": "yellow"}', 'banana'),('{"id": 16, "color": "orange"}','orange');
obclient> SELECT * FROM tj1 ORDER BY CAST(JSON_EXTRACT(c1, '$.id') AS UNSIGNED);
+-------------------------------+--------+
| c1                            | c2     |
+-------------------------------+--------+
| {"id": 16, "color": "orange"} | orange |
| {"id": 17, "color": "red"}    | apple  |
| {"id": 18, "color": "yellow"} | banana |
+-------------------------------+--------+
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) 咨询热线
