搜索

首页  >  问答  >  正文

mysql时间格式问题

数据类型为 datetime, 为什么后面这么多000000? 怎么解决?
默认添加的时间 '2017-06-09 10:07:33'这样添加数据后,也会默认加好多0,醉了

阿神阿神2711 天前940

全部回复(5)我来回复

  • ringa_lee

    ringa_lee2017-06-30 09:55:35

    show variables like 'datetime_format';
    


    这是你想要设置datetime类型的格式,而你的后面估计还有毫秒,改成上面的就可以了。

    问怎么改?
    在mysql的配置文件my.cnf 或者 my.ini中的[mysqld]下加入

    datetime_format=%Y-%m-%d %H:%i:%s
    

    改完保存,记得重启mysql服务!

    回复
    0
  • typecho

    typecho2017-06-30 09:55:35

    时间精度问题,存储时间精度有秒级、毫秒级、微秒级,

    DATETIME 范围:1000-01-01 00:00:00'到'9999-12-31 23:59:59',为秒级

    你的时间表示是微秒级的,所以秒之后的时间精度是没有的,所以都是0

    怎么解决
    1.不用管,输出的时候格式化一下就好了,想要什么时间都可以
    2.采用其它数据类型,我推荐int

    回复
    0
  • 怪我咯

    怪我咯2017-06-30 09:55:35

    你的时间应该取的微妙,然后转换的日期格式。
    要是不要后面的格式的话 取11位的时间戳就可以。
    你看看你取的时间戳是什么
    mysql 5.6中的时间类型的新精度

    回复
    0
  • 黄舟

    黄舟2017-06-30 09:55:35

    图简单更换数据类型 timestamp 这样就不会默认出现0了,长度设置为0

    回复
    0
  • 大家讲道理

    大家讲道理2017-06-30 09:55:35

    @nicezhu 用的是哪个版本的数据库,我用的一直都是精确到秒级的

    回复
    0
  • 取消回复