mysql中decimal用法-mysql教程

MySQL 中 DECIMAL 数据类型的用法

DECIMAL 数据类型用于存储固定精度的十进制数字。它不同于 FLOAT 和 DOUBLE 类型,后者使用浮点运算,可能会导致精度损失。

语法

DECIMAL(M, D)
登录后复制
  • M:最大数字位数(包括小数点左边的数字)
  • D:小数点右边的数字位数

例如:

DECIMAL(10, 2)
登录后复制

此数据类型可以存储最大值为 99999999.99 的十进制数字,其中 8 位数字在小数点左边,2 位数字在右边。

特点

  • 精确:DECIMAL 类型存储精确的十进制数字,避免精度损失。
  • 固定长度:数据长度是固定的,由 M 和 D 决定,节省存储空间。
  • 数据完整性:DECIMAL 类型强制执行小数点的位置,防止数据输入错误。

何时使用

使用 DECIMAL 数据类型适用于以下情况:

  • 需要精确计算的财务数据
  • 需要存储带小数的精确测量值
  • 需要强制执行特定精度和范围的数据

与 FLOAT 和 DOUBLE 的比较

特征 DECIMAL FLOAT DOUBLE
精度 精确 近似值 近似值
长度 固定 可变 可变
速度 较慢 较快 较快

示例

以下是使用 DECIMAL 数据类型的示例:

CREATE TABLE orders (
  order_id INT NOT NULL AUTO_INCREMENT,
  total_price DECIMAL(10, 2) NOT NULL
);

INSERT INTO orders (total_price) VALUES (123.45);

SELECT * FROM orders WHERE total_price > 100.00;
登录后复制

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。