很多从ORACLE 或者 SQL SERVER 移植到 MySQL 的朋友都遇到一个相同的问题,就是关于毫秒的存储与显示。 由于MySQL

的只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR这几种时间类型,而且DATETIME 以及

TIMESTAMP 的最小单位是秒,没有存储毫秒级别的函数。 不过MySQL 却能识别时间中的毫秒部分。

而且我们有多种方式可以获得毫秒的部分,比如函数:microsecond 等。

我这里举一个简单的例子,来存储秒之前和之后的部分。

对于把时间字段作为主键的应用,我们可以建立以下的表来作相应的转化:

mysql> create table mysql_microsecond ( log_time_prefix timestamp

not null default 0, log_time_suffix mediumint not null default 0)

engine innnodb;

Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> alter table mysql_microsecond add primary key (log_time_prefix, log_time_suffix);

Query OK, 0 rows affected (0.01 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> set @a = convert(concat(now(),'.222009'),datetime);

Query OK, 0 rows affected (0.00 sec)

mysql> insert into mysql_microsecond select date_format(@a,'%Y-%m-%d %H-%i-%s'),date_format(@a,'%f');

Query OK, 1 row affected (0.00 sec)

Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from mysql_microsecond;

+---------------------+-----------------+

| log_time_prefix     | log_time_suffix |

+---------------------+-----------------+

| 2009-08-11 17:47:02 |          222009 |

+---------------------+-----------------+

1 row in set (0.00 sec)

或者是用VARCHAR来存储所有的时间字段, 又或者是存储一个HASH来保证性能!

方法多多,就看你的应用怎么用合理了。

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');               -- 10select extract(microsecond from '12:00:00.123456');             -- 123456

select extract(microsecond from '1997-12-31 23:59:59.000010');  -- 10select 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 微秒

mysql 查询当前时间到毫秒_MySQL 关于毫秒和微秒的处理,MySQL获取毫秒!相关推荐

  1. mysql查询特定时间数据视频_mysql查询特定时间段内的数据

    参照文章(mysql查询时间段内数据)进行了操作. 先来建表语句: [sql] view plaincopySETFOREIGN_KEY_CHECKS=0;-- ------------------- ...

  2. mysql查询特定时间数据视频_MySQL如何查询指定时间数据

    mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...

  3. mysql查询当前时间和用户_MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户...

    IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive) 首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔 ...

  4. MySql查询系统时间,SQLServer查询系统时间,Oracle查询系统时间

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. MySQL查询系统时间 第一种方法:select current_date: MySQL> s ...

  5. mysql查询根据时间排序

    表数据: mysql查询根据时间排序,如果有相同时间则只查询出来一个 所以需要再判断,如果时间相同,则根据id进行降序排序

  6. mysql查询出过去一个月_mysql查询过去一月半年一年的时间

    复制代码代码如下: create table if not exists t ( id int, addTime datetime default '0000-00-00 00:00:00′ ) 添加 ...

  7. mysql查询这一周数据库_mysql如何查询当前时间是星期几?

    select date_format(curdate(),'%w') from dual; 更多参考: MySQL中DATE_FORMAT(date, format)函数可根据format字符串格式化 ...

  8. MySQL之日期时间处理函数_MySQL之日期时间处理函数

    本文给大家分享的是MySQL之日期时间处理函数 ,非常的详细,也很实用,非常适合初学者,有需要的小伙伴参考下. 以下基本包含MySQL所有日期时间函数-- MySQL日期时间处理函数 -- 当前日期: ...

  9. mysql 查询 系统字段 自然日_Mysql查询用户留存/留存率问题用户n日(内)留存、某日新增用户n日(内)留存...

    Mysql查询用户留存/留存率语法 计算某日的客户在第n日再次出现的概率--用户n日留存率. 计算某日的客户在某个时间段内再次出现的概率--用户n日内留存率. 计算某日新增的用户在第n日再次出现的概率 ...

  10. 《MySQL——查询长时间不返回的三种原因与查询慢的原因》

    目录 查询长时间不返回 等MDL锁 等flush 等行锁 查询慢 构造一张表,表有两个字段id和c,再里面插入了10万行记录 create table 't' ('id' int(11) not nu ...

最新文章

  1. 欧拉遗留240多年的问题,被物理学家用量子力学解决
  2. c语言case的值能动态修改吗,java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case...
  3. (转) Android平台上关于IM的实践总结
  4. FTP和SSH的区别
  5. Android应用APP: 基于MobileNet和EfficientNet的图像分类模型_调试运行以及打包Tensorflow官方提供的Image classification demo
  6. 前端学习---移动端vue开发踩坑记
  7. Stata+R:一文读懂中介效应
  8. 乱下东西导致挖矿病毒Trojan,CoinMiner的解决记录
  9. 年终了,大家要小心!
  10. Jointly Extracting Multiple Triplets with Multilayer Translation Constraints [论文研读]
  11. 正在工作的程序员,生活状态都很苦逼?
  12. 快速构建属于自己的博客网站
  13. 存储-对象存储、文件存储和块存储
  14. QT软件版本更改步骤
  15. Visual Studio无法下载及安装
  16. 宏源药业上市破发:跌幅16% 公司市值168亿超募17亿
  17. 高德API 经纬度转换地市区县(含读取文件)
  18. Django 1.4 Python 2.7菜鸟入门
  19. Oracle sql大于和小于号的转义写法
  20. 华硕主板固态硬盘不识别_华硕主板认不到固态硬盘怎么办?

热门文章

  1. 路由器计算机无法上网,连接路由器无法上网怎么回事_电脑连接路由器不能上网如何处理-win7之家...
  2. 数值分析原理课程实验——牛顿(Newton)迭代法
  3. 系统集成项目管理工程师备考资料(口袋应试第二版)14
  4. 【杂记】01:王者荣耀,再见?
  5. CentOS 7.6基于lvm2快照备份恢复MariaDB
  6. 基于javaweb+JSP+Servlet宿舍管理系统(超级管理员、宿舍管理员、学生)
  7. 什么是架构师?Java架构师一般多少年薪呢?
  8. 整理PC端微信文件夹
  9. 空间四点定位原理及应用
  10. 思维导图软件Mindmanager2018下载