11.1.3 定点类型(精确值)- DECIMAL,NUMERIC
发布日期:2021-05-08 00:27:59 浏览次数:25 分类:精选文章

本文共 611 字,大约阅读时间需要 2 分钟。

官方文档地址:


DECIMALNUMERIC类型用来存储精确的数值数据。当需要保持精确的精度时使用这些类型,例如货币数据。在 MySQL 中,NUMERIC被实现为DECIMAL,所以下面关于DECIMAL的说明同样适用于NUMERIC

MySQL 以二进制格式存储DECIMAL值。参见。

DECIMAL列声明中,可以(通常是)指定精度和刻度。例如:

salary DECIMAL(5,2)

在这个例子中,5是精度,2是刻度。精度表示存储在值中的有效数字的数量,而刻度表示可以存储在小数点后的数字的数量。

标准 SQL 要求DECIMAL(5,2)能够存储任何5位长度和2位小数的值,因此可以存储在 salary 列中的值的范围是-999.99999.99

在标准 SQL 中,DECIMAL(M)的语法等价于DECIMAL(M,0)。类似地,DECIMAL语法等价于DECIMAL(M,0),其中M的值取决于哪种实现方式。MySQL 支持这两种不同形式的DECIMAL语法。M的默认值为10

如果刻度为0,则DECIMAL值不包含小数点或小数部分。

DECIMAL的最大位数是65,但是,DECIMAL列的实际范围可能受到给定列的精度或刻度的限制。当该列的值在小数点后的数字位数多于指定的刻度所允许的数字位数时,该值将被转换为该指定刻度。(精确的行为是特定于操作系统的,但通常的做法是截断允许的数字数量)。

上一篇:11.1.4 浮点类型(近似值)- FLOAT,DOUBLE
下一篇:11.1.1 数值数据类型语法

发表评论

最新留言

不错!
[***.144.177.141]2025年03月24日 21时10分02秒