排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
MySQL的函数和运算符 - 精确数学 - DECIMAL 数据类型特征
MySQL的函数和运算符 - 精确数学 - DECIMAL 数据类型特征
林员外聊编程
2021-10-09
887
DECIMAL
数据类型特征
本部分讨论
DECIMAL
数据类型
(
及其同义词
)
的特征,特别是以下主题:
●
最大位数
●
存储格式
●
存储要求
●
对
DECIMAL
列的上限范围的非标准
MySQL
扩展
DECIMAL
列的声明语法是
DECIMAL(
M
,
D
)
。参数的取值范围如下:
●
M
是最大位数
(
精度
)
。取值范围是
1~65
。
●
D
是小数点右边的位数
(
标度
)
。取值范围为
0~30
,且不能大于
M
。
如果省略
D
,则默认为
0
。如果省略
M
,则默认为
10
。
M
的最大值为
65
,意味着对
DECIMAL
值的计算可以精确到
65
位。这个
65
位精度的限制也适用于精确值数字字面量,因此这种字面量的最大范围与以前不同。
(DECIMAL
文本字面量的长度也有限制。
)
DECIMAL
列的值使用二进制格式存储,该格式将
9
个十进制数字打包为
4
个字节。每个值的整数部分和小数部分的存储要求分别确定。每个
9
位数需要
4
个字节,任何剩余的数字都需要
4
个字节的一部分。下表给出了剩余数字所需的存储空间。
剩余数字
字节数
0
0
1
–
2
1
3
–
4
2
5
–
6
3
7
–
9
4
例如,
DECIMAL(18,9)
列在小数点两边各有
9
位数字,因此整数部分和小数部分各需要
4
个字节。
DECIMAL(20,6)
列有
14
个整数位数和
6
个小数位数。整数位数中有
9
位需要
4
个字节,其余
5
位需要
3
个字节。
6
位小数需要
3
个字节。
DECIMAL
列不存储前导的
+
字符、
-
字符或前导的
0
数字。如果将
+0003.1
插入
DECIMAL(5,1)
列,则将其存储为
3.1
。对于负数,不存储
-
字面量。
DECIMAL
列不允许值大于列定义所指示的范围。例如,
DECIMAL(3,0)
列支持
-999
到
999
的范围。
DECIMAL(
M
,
D
)
列允许小数点左边最多
M - D
位。
SQL
标准要求
NUMERIC(
M
,
D
)
的精度为恰好
M
位。对于
DECIMAL(
M,D
)
,该标准要求至少
M
位的精度,但允许更多。在
MySQL
中,
DECIMAL(
M,D
)
和
NUMERIC(
M,D
)
是相同的,两者的精度都是
M
位。
关于
DECIMAL
值的内部格式的完整解释,请参阅
MySQL
源分发版中的文件
strings/decimal.c
。在
decimal2bin()
函数中解释了这种格式
(
通过示例
)
。
官方网址:
https://dev.mysql.com/doc/refman/8.0/en/precision-math-decimal-characteristics.html
mysql
文章转载自
林员外聊编程
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨