MySQL存储毫秒数据的方法

 更新时间:2014年06月25日 10:47:31   投稿:shichen2014  
MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下

有相当一部分刚接触到 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来保证性能!
方法很多,就看你的应用怎么用合理了。

相关文章

  • WIN10下cmd如何查看编码方式,命令行窗口修改UTF-8编码

    WIN10下cmd如何查看编码方式,命令行窗口修改UTF-8编码

    这篇文章主要介绍了WIN10下cmd如何查看编码方式,命令行窗口修改UTF-8编码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • mysql执行时间为负数的原因分析

    mysql执行时间为负数的原因分析

    今天看到有人把phpmyadmin中的执行时间出现负数的情况视为phpmyadmin的bug, 其实这种情况的本质是php中浮点数(float)的精度问题。
    2010-08-08
  • sqlmap注入图文详解

    sqlmap注入图文详解

    sqlmap 是一个自动SQL 射入工具。本文收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,希望能给你带来帮助
    2021-08-08
  • MySQL5.6.40在CentOS7 64下安装过程详解

    MySQL5.6.40在CentOS7 64下安装过程详解

    这篇文章主要介绍了MySQL5.6.40在CentOS7 64下安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • MySQL数据库高级查询和多表查询

    MySQL数据库高级查询和多表查询

    这篇文章主要介绍了MySQL数据库高级查询和多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MySQL系列之三 基础篇

    MySQL系列之三 基础篇

    本文主要介绍了MySQL基础使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • MySQL分布式集群搭建教程

    MySQL分布式集群搭建教程

    这篇文章主要介绍了MySQL分布式集群搭建教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Xampp中mysql无法启动问题的解决方法

    Xampp中mysql无法启动问题的解决方法

    最近有朋友反映遇到了xampp的mysql启动不了这种情况,该怎么办呢,所以下面这篇文章主要给大家介绍了关于Xampp中mysql无法启动问题的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 简单了解标准SQL的update语句三种用法

    简单了解标准SQL的update语句三种用法

    这篇文章主要介绍了简单了解标准SQL的update语句三种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • mysql 5.7.18 安装教程及问题汇总

    mysql 5.7.18 安装教程及问题汇总

    这篇文章主要介绍了mysql 5.7.18 安装教程及问题汇总,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-04-04

最新评论