首页 > 数据库技术 > 详细

MySQL的时间进位问题

时间:2015-08-17 17:03:00      阅读:274      评论:0      收藏:0      [点我收藏+]

mysql更新到5.6.4 之后 , 新增了一个叫factional seconds的特性 , 可以记录时间的毫秒值.

但是目前的数据库是不记录毫秒值的 , 所以会产生一个java中时间的Milliseconds超过500就会四舍五入的问题.

例如一个时间是2015-08-31 23:59:59.520 , 毫秒值超过500 , 入库的时候 , 时间就会变成2015-09-01 00:00:00 . 下面的两条sql就可以看出效果.

 

insert into money_record values(null,1711929, ‘jerry1bean‘, NULL, NULL, 20.00, 2.00, 1250, ‘2015-08-31 23:59:59.500000‘, NULL, NULL, NULL, ‘just a test‘, NULL);

 

insert into money_record values(null,1711929, ‘jerry1bean‘, NULL, NULL, 20.00, 2.00, 1250, ‘2015-08-31 23:59:59.499999‘, NULL, NULL, NULL, ‘just a test‘, NULL);

   

表中就会出现明明是2015-08-31 : 23:59:59这样的tradeTime , 存入2015_08的表后tradeTime却变成9月1号的情况.

P.S 貌似java中的Date是无法显示毫秒的,但是对象里是保存毫秒时间的 , 得用calendar才能打印出来

MySQL的时间进位问题

原文:http://www.cnblogs.com/taojintianxia/p/4736910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!