MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 6946|回复: 0
打印 上一主题 下一主题

MySQL中如何获得毫秒、微秒

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-16 19:29:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jeff 于 2010-9-16 19:31 编辑

出处:网摘

MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒。 MySQL 中也没有存储带有毫秒、微秒的日期时间类型。

但,奇怪的是 MySQL 已经有抽取(extract)微秒的函数。例如:

select microsecond('12:00:00.123456');                          -- 123456
select microsecond('1997-12-31 23:59:59.000010');               -- 10
select extract(microsecond from '12:00:00.123456');             -- 123456
select extract(microsecond from '1997-12-31 23:59:59.000010');  -- 10
select date_format('1997-12-31 23:59:59.000010', '%f');         -- 000010

尽管如此,想在 MySQL 获得毫秒、微秒还是要在应用层程序中想办法。假如在应用程序中获得包含微秒的时间:1997-12-31 23:59:59.000010,在 MySQL 存放时,可以设计两个字段:c1 datetime, c2 mediumint,分别存放日期和微秒。为什么不采用 char 来存储呢?用 char 类型需要 26 bytes,而 datetime + mediumint 只有 11(8+3) 字节。

毫秒、微秒名词解释:
毫秒:millisecond -- 千分之一秒
微秒:microsecond -- 一百万分之一秒
1 秒 = 1000 毫秒;1 毫秒 = 1000 微秒
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-6-21 13:19 , Processed in 0.069155 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表