---
title: "定点类型 - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: "定点类型 定点类型为变长、精确数值类型，值域和精度取决于 Precision 和 Scale，以及是否为无符号。 DECIMAL 等价于 NUMERIC 。语法如下： DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] M 是可以存储的总位数（Precision）， D 是小数点后的位数（S…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 定点类型

更新时间：2026-07-15 20:56:55

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/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/200.numeric-of-mysql-mode/300.fixed-point-type-of-mysql-mode.md)  

定点类型为变长、精确数值类型，值域和精度取决于 Precision 和 Scale，以及是否为无符号。

`DECIMAL` 等价于 `NUMERIC`。语法如下：

```sql
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]

```

`M` 是可以存储的总位数（Precision），`D` 是小数点后的位数（Scale）。小数点和负数符号"-"不计入 `M`。如果 `D` 为 0，则值没有小数点或小数部分。整数部分最大有效位数等于 `M` 减去 `D` 的值，即 Precision 减去 Scale 的值。所有带有 `DECIMAL` 列的基本计算（+、-、*、/）都使用 65 位的精度。

`DECIMAL` 的 `M` 最大值为 65，`D` 最大值为 30。如果省略 `D`，则默认为 0。如果省略 `M`，则默认为 10。

如果为数值列指定 `ZEROFILL`，OceanBase 数据库会自动向该列添加 `UNSIGNED` 属性。如果指定 `UNSIGNED`，则不允许为负值。

例如 `DECIMAL(5,2)`，整数部分和小数部分最大有效位数分别为 3 和 2，所以值域为 [-999.99, 999.99]。如果同时定义为 `UNSIGNED`，则值域为 [0, 999.99]。

如下类型也是 `DECIMAL` 的同义词。其中，`FIXED` 可用于与其他数据库系统兼容。

```sql
DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]

```

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