---
title: "JSON_EQUAL - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: JSON_EQUAL 描述 JSON_EQUAL() 函数用于比较两个 JSON 值，如果相等则返回 Ture。如果两个值不相等，则返回 False。输入值必须是有效的 JSON 数据。比较忽略空格和对象成员顺序。例如，如果 JSON 对象具有相同的成员，则无论它们的顺序如何，都是相等的。 此外， IS JSON 和…
---
切换语言

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

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

# JSON_EQUAL

更新时间：2026-04-05 17:25:59

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/200.single-row-functions-of-oracle-mode/1200.json-functions-oracle-mode/400.validate-json-text-function-oracle/100.json-equal-oracle-mode.md)  

## 描述

`JSON_EQUAL()` 函数用于比较两个 JSON 值，如果相等则返回 Ture。如果两个值不相等，则返回 False。输入值必须是有效的 JSON 数据。比较忽略空格和对象成员顺序。例如，如果 JSON 对象具有相同的成员，则无论它们的顺序如何，都是相等的。

此外，`IS JSON`和 `IS NOT JSON`在 SQL 语句中作为 SQL 条件也用以校验表达式结果是否是合法的 JSON 数据格式。详细信息请参见 [JSON 数据类型列的创建](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004481667)。

## 语法

```sql
json_equal(expr,
           expr
          [TRUE|FALSE|ERROR ON ERROR]);

```

## 语法说明

`ERROR` 子句 默认是 `FALSE ON ERROR`，典型的错误是输入的两个 JSON 不是合法的 JSON 数据。

## 示例

```shell
# WHEN CASE 中作为 SQL 条件使用 JSON_EQUAL() 函数
obclient> SELECT CASE
               WHEN JSON_EQUAL (
       '{"comparesAttributes":"and values"}', '{"inTwoJSONDocuments": "for equality"}'
               ) THEN 'THE SAME' ELSE 'DIFFERENT'
             END JSON_COMPARE
      FROM   DUAL;
+--------------+
| JSON_COMPARE |
+--------------+
|  DIFFERENT   |
+--------------+
1 row in set

# 相同的输入
obclient> SELECT 1 FROM DUAL WHERE JSON_EQUAL('[1,]', '[1]' FALSE ON ERROR);
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set

obclient> SELECT 1 FROM DUAL WHERE JSON_EQUAL('[1,]', '[1' TRUE ON ERROR);
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set

# 使用 ERROR 子句 FALSE ON ERROR
obclient> SELECT 1 FROM DUAL WHERE JSON_EQUAL('[1,]', '[1' FALSE ON ERROR);
Empty set

# 使用 ERROR 子句 ERROR ON ERROR
obclient> SELECT 1 FROM DUAL WHERE JSON_EQUAL('[1,]', '[1' error on error);
OBE-40441: JSON syntax error

```

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