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工具取得的极限时间值时,在插入时需特别注意,容易翻车。