[转帖]12.24.2 DECIMAL Data Type Characteristics
https://dev.mysql.com/doc/refman/8.0/en/fixed-point-types.html
This section discusses the characteristics of the DECIMAL
data type (and its synonyms), with particular regard to the following topics:
Maximum number of digits
Storage format
Storage requirements
The nonstandard MySQL extension to the upper range of
DECIMAL
columns
The declaration syntax for a DECIMAL
column is DECIMAL(
. The ranges of values for the arguments are as follows:M
,D
)
M
is the maximum number of digits (the precision). It has a range of 1 to 65.D
is the number of digits to the right of the decimal point (the scale). It has a range of 0 to 30 and must be no larger thanM
.
If D
is omitted, the default is 0. If M
is omitted, the default is 10.
The maximum value of 65 for M
means that calculations on DECIMAL
values are accurate up to 65 digits. This limit of 65 digits of precision also applies to exact-value numeric literals, so the maximum range of such literals differs from before. (There is also a limit on how long the text of DECIMAL
literals can be; see Section 12.24.3, “Expression Handling”.)
Values for DECIMAL
columns are stored using a binary format that packs nine decimal digits into 4 bytes. The storage requirements for the integer and fractional parts of each value are determined separately. Each multiple of nine digits requires 4 bytes, and any remaining digits left over require some fraction of 4 bytes. The storage required for remaining digits is given by the following table.
Leftover Digits | Number of Bytes |
---|---|
0 | 0 |
1–2 | 1 |
3–4 | 2 |
5–6 | 3 |
7–9 | 4 |
For example, a DECIMAL(18,9)
column has nine digits on either side of the decimal point, so the integer part and the fractional part each require 4 bytes. A DECIMAL(20,6)
column has fourteen integer digits and six fractional digits. The integer digits require four bytes for nine of the digits and 3 bytes for the remaining five digits. The six fractional digits require 3 bytes.
DECIMAL
columns do not store a leading +
character or -
character or leading 0
digits. If you insert +0003.1
into a DECIMAL(5,1)
column, it is stored as 3.1
. For negative numbers, a literal -
character is not stored.
DECIMAL
columns do not permit values larger than the range implied by the column definition. For example, a DECIMAL(3,0)
column supports a range of -999
to 999
. A DECIMAL(
column permits up to M
,D
)M
- D
digits to the left of the decimal point.
The SQL standard requires that the precision of NUMERIC(
be exactly M
,D
)M
digits. For DECIMAL(
, the standard requires a precision of at least M
,D
)M
digits but permits more. In MySQL, DECIMAL(
and M
,D
)NUMERIC(
are the same, and both have a precision of exactly M
,D
)M
digits.
For a full explanation of the internal format of DECIMAL
values, see the file strings/decimal.c
in a MySQL source distribution. The format is explained (with an example) in the decimal2bin()
function.
[转帖]12.24.2 DECIMAL Data Type Characteristics的更多相关文章
- DECIMAL Data Type
In MySQL, DECIMAL(M,D) and NUMERIC(M,D) are the same, and both have a precision of exactly M digits. ...
- mysql data type <----> java data type (数值)
https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html +----------------------------+---- ...
- MySql and Oracle Data Type Mappings
the default settings used by SQL Developer to convert data types from MySQL to Oracle. SQL Developer ...
- 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解
salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解 建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schem ...
- salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解
建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema ...
- The conversion of a varchar data type to a datetime data type resulted in an out-of-range value
刚刚有在程序中,传递一个空值至MS SQL Server数据库,这个值的数据类型为DATETIME执行时,它却发生了如标题提示的异常:The conversion of a varchar data ...
- Extended Data Type Properties [AX 2012]
Extended Data Type Properties [AX 2012] This topic has not yet been rated - Rate this topic Updated: ...
- 1月21日 Reference Data Type 数据类型,算法基础说明,二分搜索算法。(课程内容)
Reference Datat Types 引用参考数据类型 -> 组合数据类型 Array, Hash和程序员自定义的复合资料类型 组合数据的修改: 组合数据类型的变量,不是直接存值,而是存一 ...
- C++数据类型(data type)介绍
在编写程序时,数据类型(data type)定义了使用存储空间的(内存)的方式. 程序员通过定义数据类型(data type),告诉特定存储空间这里要存储的数据类型是什么,以及你即将操作他的方式.(注 ...
- How to check sqlsever table data type identity status ?
Unlike in Oracle, sqlserver has an special data type in order by make identity growth. But what abou ...
随机推荐
- Windows 监控配置
1:Windows2003服务器 2:Windows Sever 2008安装snmp 3:Windows Sever 2012安装snmp 4:Windows 10安装snmp 服务配置 双击打开[ ...
- Tpon 1.0 一键查询网站存在过的路径
Tpon 1.0 寻找网站存在过的路径 该工具能够让你发现意料之外的路径 工具描述 编写该工具旨在寻找网站存在过的网站路径,这个地址可能是机器爬下来的也可能是某些人访问过的,在表面你可能看不到它的入口 ...
- Vue源码学习(十九):router基本原理
好家伙, 0.什么是路由? 路由就是匹配到对应路径显示对应的组件! 那么我们要如何去实现? 我们来回忆一下这router怎么用的 1. 声明式路由配置:在路由配置对象中,定义路径与组件的映射关系. ...
- Blazor入门100天 : 身份验证和授权之 OpenID 与 OAuth2
目录: OpenID 与 OAuth2 基础知识 Blazor wasm Gitee 码云登录 Blazor wasm GitHub 登录 Blazor wasm Google 登录 Blazor w ...
- 华为云PB级数据库GaussDB(for Redis)介绍第四期:高斯 Geo的介绍与应用
摘要:高斯Redis的大规模地理位置信息存储的解决方案. 1.背景 LBS(Location Based Service,基于位置的服务)有非常广泛的应用场景,最常见的应用就是POI(Point of ...
- 不同数据库模式下DATE类型的行为解析
摘要:本文章主要介绍了GaussDB(DWS)数据类型中的DATE类型在不同数据库模式下且在不同应用场景下的行为表现及对比. 本文分享自华为云社区<GaussDB(DWS)数据类型之DATE类型 ...
- Solon v1.11.3 发布,第101个发布版本喽
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- Chrome浏览器导出HTTPS证书
点证书小锁 进入证书界面 到详情中,导出证书
- Nginx The system cannot find the path specified
Nginx -t 时报 (3: The system cannot find the path specified) 原因:路径中有文件夹是中文,Nginx 全路径,不能包含中文
- python中的代码运行时间获取方式
python中的代码运行时间获取方式 我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈就是电脑运行代码所需要的时间. 使用time模块对代码 ...