暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译] MySQL 11.1.3 定点类型(精确值)- DECIMAL、NUMERIC

原创 由迪 2021-12-22
458

DECIMALNUMERIC 类型的存储精确的数值数据。这些类型用于保持精确精度很重要的情况,例如货币数据。在MySQL中,NUMERIC被实现为DECIMAL,所以下面的话大约DECIMAL同样适用于 NUMERIC

MySQLDECIMAL以二进制格式存储值。请参见第 12.25 节,“精确数学”

DECIMAL列声明中,可以(并且通常是)指定精度和小数位数。例如:

salary DECIMAL(5,2)

在本例中,5是精度, 2是比例。精度表示为值存储的有效位数,小数位数表示小数点后可以存储的位数。

标准 SQL 要求DECIMAL(5,2)能够存储具有五位数字和两位小数的任何值,因此可以存储在salary 列范围内的值从-999.99999.99.

在标准 SQL 中,语法 等效于 . 类似地,语法等价于,其中允许实现决定 的值 。MySQL 支持这两种变体形式的语法。的默认值为10。 DECIMAL(*M*)``DECIMAL(*M*,0)``DECIMAL``DECIMAL(*M*,0)MDECIMALM

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

的最大位数为DECIMAL65,但给定DECIMAL 列的实际范围可能受给定列的精度或小数位数限制。如果为此类列分配的值的小数点后位数多于指定比例所允许的数字,则该值将转换为该比例。(确切的行为是特定于操作系统的,但通常效果是截断到允许的位数。)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论