码迷,mamicode.com
首页 > 数据库 > 详细

MySQL的时间进位问题

时间:2015-08-17 17:03:43      阅读:168      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!