---
title: "数值类型的优先级 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 数值类型的优先级 不同的数值数据类型在操作时有不同的优先级。本文主要介绍 OceanBase 数据库的数值数据类型的优先级规则及注意事项。 在 OceanBase 数据库中， BINARY_DOUBLE 的优先级最高，其次是 BINARY_FLOAT ， NUMBER 优先级最低。 在对多个不同数据类型的数值进行操作…
---
切换语言

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

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

# 数值类型的优先级

更新时间：2026-03-12 17:21:56

[编辑](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/300.basic-elements-of-oracle-mode/100.built-in-data-types-of-oracle-mode/300.numeric-data-type-of-oracle-mode/500.numeric-priority-of-oracle-mode.md)  

不同的数值数据类型在操作时有不同的优先级。本文主要介绍 OceanBase 数据库的数值数据类型的优先级规则及注意事项。

在 OceanBase 数据库中，`BINARY_DOUBLE` 的优先级最高，其次是 `BINARY_FLOAT`，`NUMBER` 优先级最低。

在对多个不同数据类型的数值进行操作时，转换规则如下：

- 如果有一个操作数为 `BINARY_DOUBLE`，OceanBase 数据库会在执行该操作之前将所有操作数转换为 `BINARY_DOUBLE`。
 - 如果有一个操作数为 `BINARY_FLOAT`，而且其他任一操作数都不是 `BINARY_DOUBLE`，OceanBase 数据库会在执行该操作之前将所有操作数转换为 `BINARY_FLOAT`。
 - 如果所有操作数都不是 `BINARY_DOUBLE` 和 `BINARY_FLOAT`，OceanBase 数据库会在执行该操作之前将所有操作数转换为 `NUMBER`。

  #### 注意

     - 如果所需要的数据类型转换失败，则该操作将失败。
     - 与其他数据类型相比，数值数据类型的优先级低于日期时间与间隔数据类型，高于字符和所有其他数据类型。

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