Mysql 插入时间(Date)变大的问题(精度)

insert into ic_xx ( data_type, dept_id, mail_count, mail_amount, scan_amount, scan_rate_lp, year, week, begin_date, end_date, user_id ) values ( 2, 113, 1054, 2.61, 2.58, 0.90570593962999, 2021, 23, '2021-05-31 00:00:00.0', '2021-06-06 23:59:59.4', 1 );
insert into ic_xx ( data_type, dept_id, mail_count, mail_amount, scan_amount, scan_rate_lp, year, week, begin_date, end_date, user_id ) values ( 2, 113, 1054, 2.61, 2.58, 0.90570593962999, 2021, 23, '2021-05-31 00:00:00.0', '2021-06-06 23:59:59.5', 1 );

两个sql语句主要区别就是时间。在mysql的表设计为Date类型,

如果参数是或小于2021-06-06 23:59:59.4 (2021-06-06 23:59:59.499 ) 则数据库存的值2021-06-06

如果参数是或大于2021-06-06 23:59:59.5 (或2021-06-06 23:59:59.500 ) 则数据库存的值为2021-06-07。

显然,mysql的C底层实现过程进行四舍五入的精度处理。

因此,在处理时间插入时,特别用hutool工具取得的极限时间值时,在插入时需特别注意,容易翻车。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值