浅议MySQL数值范围问题
来源:互联网 发布:路由器怎么设置网络快 编辑:程序博客网 时间:2024/06/03 15:06
最近写的一段代码涉及到表的插入的操作,对所插入的数值型数据没做范围验证,结果呢没能通过测试,反馈的错误是:Out of range value for column 'xxx' at row x。了解了下MySQL中DECIMAL(M, D)表示的数据范围,大致如下:
DECIMAL(M,D)所能表示的数据精度范围:
M是数字所能表示的位数(包括小数部分),范围是1至65;
D是小数点后所占位数,范围是0至30,同时不能超过M。
若表中某字段精度为DECIMAL(12,2),表示该字段能存储的数字的整数部分最大位数是10位,小数部分最大位数是2,这里有几个问题需要注意:
1、即使插入的数据没有小数部分,存入表中后也会带上两位小数(全部是0),所以不要以为插入的数字不显式地带小数位就能让整数部分占12位的数字成功保存进去,这种情况下回报错:Out of range value for column 'xxx' at row x。
2、这种形式所表示的范围当然也包括的负数,能保存的最小负数与能保存的最大正数在绝对值上是相等的。
3、即使要插入的数字小数部分超过了两位,MySQL也会只取两位。
需要说明的是以上是在MySQL5.7版本上验证的。 0 0
- 浅议MySQL数值范围问题
- mysql数值范围
- MySQL数值数据类型的范围
- MYSQL和java中的数值范围
- 数值范围
- 数值范围
- mysql字符串数值按数值排序问题
- mysql 学习---->数值计算、逻辑判断、范围选择、位运算
- 高光谱图像预处理中的数值范围问题
- java数值范围以及float与double精度丢失问题
- excel存储数值范围
- 正数数值范围
- char表示数值范围
- (整理)数值范围
- 类型的数值范围
- javascript数值范围
- 数值字节与范围
- mysql sum 统计数值出现精度问题
- 【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 图形渲染管线 The Graphics Rendering Pipeline
- 数组与指针
- Codeforces803D Magazine Ad
- hdu 4608 I
- Translate
- 浅议MySQL数值范围问题
- Qt模仿IOS滑动按钮
- Java Class Object
- ios 自定义带下划线的tab切换按钮
- hdu4602_Partition_思维+递推+快速幂
- 欢迎使用CSDN-markdown编辑器
- jQuery来了--添加元素,删除元素
- Angular4(一)
- 蓝桥杯 算法训练 关联矩阵