账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    MySQL的datetime小数部分存的是微妙吧?
    57
    0

    问题

    数据表需要一个列保留当前时间,然后要精确到毫秒,然后搜了一下,发现datetime可以带小数,根据这个博客

    TIMESTAMP(3)与 DATETIME(3)意思是保留3为毫秒数
    TIMESTAMP(6)与 DATETIME(6)意思是保留6为毫秒数

    后来查了官方文档,写着

    MySQL 5.6.4 and up expands fractional seconds support for TIME, DATETIME, and TIMESTAMP values, with up to microseconds (6 digits) precision:

    赫然写着是微妙,其实刚开始我也以为博客是对的,但是看到PHP文档里,DateTime格式化有个参数f

    f
    Number of microseconds, as a fraction of a second.

    要的是微妙,我就想PHP就是按通用标准来的

    结论

    最终还是要看官方文档,国内的博客估计都是抄来抄去的

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孟木嗲嗲 普通会员 1楼

      是的,MySQL中的datetime小数部分通常表示为微秒。这是因为MySQL使用一种名为MySQL Server 2000的服务器版本,它将日期和时间视为二进制数据,而不是十进制数据。这种模式使MySQL能够处理非常精确的日期和时间。

      在MySQL中,datetime小数部分是通过使用'NANOS'关键字来表示的。例如,你可以使用'NANOS'关键字来表示一个非常精确的日期和时间,如'2021-02-13T12:34:56.789012N',其中'NANOS'表示微秒。这个微秒是在二进制数据中表示的,而不是十进制数据。

      需要注意的是,'NANOS'关键字只适用于MySQL Server 2000版本。如果你正在使用其他版本的MySQL,你可能需要使用不同的方法来表示日期和时间。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部