刚接触到 MySQL 的朋友都会遇到关于毫秒微秒的存储与显示的问题,由于MySQL数据类型中只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR这几种时间类型,而且DATETIME 以及 TIMESTAMP 的最小单位是秒,没有存储毫秒级别的函数。 但MySQL有多种方式可以获得毫秒的部分,比如:microsecond 等。
接下来说明一下如何存储毫秒及微秒:
1.先查看一下使用的mysql版本
2.创建表结构
3.插入测试数据
insert into t_test(`create`,create2,create3,create4,create5) values
(CURRENT_TIMESTAMP(3),now(3),now(),CURRENT_TIMESTAMP(6),now(6));
多次执行以上脚本,插入几条测试数据。
4.获取日期,毫秒及微秒
select
substr(microsecond(create2),1,3) '毫秒' ,
microsecond(create2) '微秒',
create3 '日期'
from t_test;
//获取微秒
select date_format(create4, '%f') from t_test;
//获取当前毫秒及微秒
select now(3);
select timestamp(6);
//格式转换
select id,DATE_FORMAT(create2,'%Y-%m-%d %T:%f') from t_test;
select id,DATE_FORMAT(create2,'%Y-%m-%d %T') from t_test;
select id,DATE_FORMAT(create2,'%Y-%m-%d') from t_test;