朋友在做福利彩票业务,遇到一个存储毫秒微秒数据的需求,问我mysql里面有何解决方案。我脑中一搜索,以前没有关注到,于是去官网查看,找到11.3.6 Fractional Seconds in Time Values 这一章节,看到一个描述

To define a column that includes a fractional seconds part, use the syntax type_name(fsp), where type_name is TIME, DATETIME, or TIMESTAMP, and fsp is the fractional seconds precision. For example:

CREATE TABLE t1 (t TIME(3), dt DATETIME(6));

于是做了一个小例子,check下结果

mysql> select @@version;
+------------+
| @@version  |
+------------+
| 5.6.12-log |
+------------+
1 row in set (0.00 sec)

mysql> 

mysql> CREATE TABLE fractest( c1 TIME(2), c2 DATETIME(6), c3 TIMESTAMP(2) );
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO fractest VALUES ('17:51:04.777', '2017-07-16 12:00:12.234', '2017-07-16 12:00:12.234');
Query OK, 1 row affected (0.00 sec)

mysql> select * from fractest;
+-------------+----------------------------+------------------------+
| c1          | c2                         | c3                     |
+-------------+----------------------------+------------------------+
| 17:51:04.78 | 2017-07-16 12:00:12.234000 | 2017-07-16 12:00:12.23 |
+-------------+----------------------------+------------------------+
1 row in set (0.00 sec)

mysql>
mysql>

结果看到了,使用DATETIME(3),TIMESTAMP(6)能达到存储毫秒微秒的效果,而且还会自动四舍五入。

应用中如何录入毫秒微秒呢?使用now(3),now(6)

mysql> select now(3),now(6);
+-------------------------+----------------------------+
| now(3)                  | now(6)                     |
+-------------------------+----------------------------+
| 2017-07-18 09:24:14.969 | 2017-07-18 09:24:14.969081 |
+-------------------------+----------------------------+
1 row in set (0.00 sec)

mysql>

应用中如何查询当前的毫秒数,微秒数呢?

mysql> SELECT SUBSTR(MICROSECOND(now(3)),1,3) '毫 秒',MICROSECOND(NOW(3)) '微 秒';
+--------+--------+
| 毫秒   | 微秒   |
+--------+--------+
| 332    | 332000 |
+--------+--------+
1 row in set (0.00 sec)

mysql>
mysql> select substr(microsecond(c2),1,3) '毫秒' ,microsecond(c2) '微秒', c2 '日期' from fractest;
+--------+--------+----------------------------+
| 毫秒   | 微秒   | 日期                       |
+--------+--------+----------------------------+
| 234    | 234000 | 2017-07-16 12:00:12.234000 |
+--------+--------+----------------------------+
1 row in set (0.00 sec)

mysql> 

参考文章:

这里写代码片https://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html

MySQL 福利彩票业务 如何存储毫秒微秒的更多相关文章

  1. mysql 时间类型精确到毫秒、微秒及其处理

    一.MySQL 获得毫秒.微秒及对毫秒.微秒的处理 MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒. MySQL 中也没有存储带有毫秒.微秒的日期 ...

  2. 转:mysql datetime类型精确到毫秒、微秒的问题

    原文地址:mysql datetime类型精确到毫秒.微秒的问题 mysql里面的datetime类型的精确度是可以到1/ 10 ^ 6 秒的某些客户端(如navicat for mysql)的显示经 ...

  3. 【MySQL】MySQL(四)存储引擎、索引、锁、集群

    MySQL存储引擎 MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口:支持的客户端连接,例如C.Java.P ...

  4. MySQL内核:InnoDB存储引擎 卷1

    MySQL内核:InnoDB存储引擎卷1(MySQL领域Oracle ACE专家力作,众多MySQL Oracle ACE力捧,深入MySQL数据库内核源码分析,InnoDB内核开发与优化必备宝典) ...

  5. mysql不同版本和存储引擎选型的验证

    Mysql的版本和存储引擎较多,为了选择最适合业务使用的系统,需要进行一定的验证,本文描述mysql的验证过程和思路. 主要涉及: Mysql的版本 v Mariadb v Tokudb v Orac ...

  6. mysql实现海量数据的存储、访问的解决方案

    mysql实现海量数据的存储.访问的解决方案: mysql数据库水平切分的实现原理可分为以下几个:分库,分表,主从,集群,负载均衡器等 第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为 ...

  7. MySQL开发篇,存储引擎的选择真的很重要吗?

    前言 谁说MySQL查询千万级别的数据很拉跨?我今天就要好好的和你拉拉家常,畅谈到深夜,一起过除夕!这篇文章也是年前的最后一篇,希望能带给大家些许收获,不知不觉查找文档和参考实体书籍就写了这么多,自己 ...

  8. nodejs项目mysql使用sequelize支持存储emoji

    nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...

  9. MySQL更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤. 1:确认MySQL数据库存储目 ...

随机推荐

  1. React:快速上手(3)——列表渲染

    React:快速上手(3)——列表渲染 使用map循环数组 了解一些ES6 ES6, 全称 ECMAScript 6.0 ,是 JaveScript 的下一个版本标准,2015.06 发版.ES6 主 ...

  2. HDU - 6435 Problem J. CSGO 2018 Multi-University Training Contest 10 (二进制枚举+思维)

    题意:有N个主武器(MW)和M个副武器(SW),每个武器都有自己的S值,和K个附加属性xi.要选取一对主副武器搭配,搭配后获得的性能由该公式得出: 求获得最大的性能为多少. 分析:由于|xm - xs ...

  3. 笔记——Springboot response、ServletOutputStream、图形验证码显示慢

    今天遇到一个图形验证码加载很慢的问题,大概耗时有200~500毫秒左右. 根据追踪,图形验证码图片生成耗时0~1毫秒,而response.getOutputStream.write()将图片写入前台页 ...

  4. Python3:Django根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'

    Python3:Django根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete' 一.分析 在 ...

  5. Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.

    tesseract的一个操作问题,简单记录 类似坑尽量少踩 运行 .\tesseract.exe .\1356445914_9857.jpg tstimg  报错如下:Please make sure ...

  6. centos 6+安装山逗斯骚尅特

    系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 关于本脚本 一键安装 Shadowsocks-Python, ShadowsocksR, Shadowso ...

  7. hadoop中mapreduce的默认设置

    MR任务默认配置: job.setMapperClass() Mapper Mapper将输入的<key,value>对原封不动地作为中间结果输出 job.setMapperOutputK ...

  8. NaviCat Primium远程连接Oracle 11g数据库操作方法

    说明:作者使用的系统是windows 10 64位系统,使用的软件及插件都是基于64位系统进行安装.一. 软件准备 1.windows 10 64位 操作系统 2.NaviCat Primium 11 ...

  9. Linux 通过进程Pid与端口互查

    ps -aux 状态详解 https://blog.csdn.net/whatday/article/details/54409387. linux下通过进程名查看其占用端口: https://www ...

  10. 移动端给img元素添加content: "";

    误给img原始添加 content: "";属性后发现在ios系统中图片是不会显示的android系统是正常的