MySQL中的实数类型

MySQL有3种实数类型:float(表示单精度浮点数值)、double(表示双精度浮点数值)、decimal(定点型)。MySQL不管是浮点型还是定点型,都可以用类型名+(M, D)进行定制化表示,其中M表示该值的总共长度,D表示小数点后面的长度。比如float(7, 4)类型在插入999.00009时,会进行四舍五入将值保存为999.0001。

注意:对于精度要求比较严格的场景,比如金融场景表示金额的时候,通常需要用decimal进行金额运算,用double和float的话很容易因为精度缺失产生一些奇怪的结果。

之前往一张表中导入多个Excel文件时,发现有条数据抛出异常(ERROR 1264 (22003): Out of range value for column 'xxx' at low 'xxx')导致某个文件导入失败。打开文件一看,该行数据有一列的数据是7位正整数,再查看一下表定义,对应的字段的数据类型为double(10, 4),其意思为:总共10位数字,其中4位小数,6位整数,正是因为整数部分位数超过定义的范围,才抛出了异常。最后,在Excel工具类中直接对该文件的该行进行特殊处理,让遍历到它的时候直接跳过,文件就可以导入了。

 

 

参考:

http://yongxiong.leanote.com/post/mysql_float_double_decimal

https://blog.csdn.net/zy_281870667/article/details/93510091

https://blog.csdn.net/weixin_34150830/article/details/91906846

https://www.cnblogs.com/whgk/articles/6142780.html

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据类型用于定义数据的存储格式和范围。了解MySQL数据类型数据库设计和数据操作的基础。下面是MySQL常见的数据类型及其基本概念: 1. 数值型(Numeric Types): - 整数类型(INT、BIGINT、TINYINT等):用于存储整数值,可以指定有符号或无符号。 - 小数类型(DECIMAL、FLOAT、DOUBLE等):用于存储带有小数部分的数字。 2. 字符型(Character Types): - 字符串类型(CHAR、VARCHAR、TEXT等):用于存储字符序列,具有不同的长度限制和存储方式。 - 二进制类型(BINARY、VARBINARY、BLOB等):用于存储二进制数据(如图像、音频等)。 3. 日期与时间型(Date and Time Types): - 日期类型(DATE):用于存储年月日,格式为'YYYY-MM-DD'。 - 时间类型(TIME):用于存储时分秒,格式为'HH:MM:SS'。 - 日期时间类型(DATETIME、TIMESTAMP):用于存储年月日时分秒。 4. 布尔型(Boolean Type): - 布尔类型(BOOL、BOOLEAN):用于存储逻辑值,包括TRUE和FALSE。 5. 枚举型与集合型(Enumeration and Set Types): - 枚举类型(ENUM):用于存储一组预定义的值之一。 - 集合类型(SET):用于存储一组预定义的值之多个组合。 6. 其他特殊类型: - 自动增长类型(AUTO_INCREMENT):用于在插入数据时自动生成唯一的递增值。 - JSON类型:用于存储和操作JSON格式的数据。 这些数据类型具有不同的存储需求和数据范围,选择合适的数据类型对于数据库设计和性能优化非常重要。在创建表时,需要仔细选择适当的数据类型以确保数据的准确性和高效性。 此外,MySQL还支持用户自定义数据类型(User-defined Types)和空间数据类型(Spatial Data Types),用于满足特定需求,如存储地理位置信息等。 注意,在实际使用,还应考虑存储需求、数据完整性、查询效率等因素来选择适当的数据类型。详细的数据类型列表和使用说明可以参考MySQL官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值