mysql毫秒转换⽇期时间_mysql时间戳与⽇期转换
平时⼀些数据库中存的时间格式为unixtime,需要其和timestamp的格式进⾏转换,⽽进⾏查询的时候,还经常想要查询N天之前的数据,这⾥⼜要⽤到date_add与date_sub函数。本篇⽤对此进⾏个⼩结。
⼀、mysql 时间戳与⽇期格式转换
常见格式时间转换为unix时间:mysql> Select UNIX_TIMESTAMP('2016-01-04 12:23:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2016-01-04 12:23:00') |
+---------------------------------------+
unix时间戳转换日期格式
| 1451881380 |
+---------------------------------------+
1 row in set (0.0
2 sec)
unixtime转换为timestamp:
mysql> Select FROM_UNIXTIME(1451881380);
+---------------------------+
| FROM_UNIXTIME(1451881380) |
+---------------------------+
| 2016-01-04 12:23:00 |
+---------------------------+
1 row in set (0.00 sec)
⼆、date_add与date_sub函数
ate_add是对⽇期加减操作,date_sub是从⽇期减去指定的时间间隔。其⽤法如下:
DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type)
date 是⼀个 DATETIME 或DATE值,⽤来指定起始时间。 expr 是⼀个表达式,⽤来指定从起始⽇期添加或减去的时间间隔值。 Expr是⼀个字符串;对于负值的时间间隔,它可以以⼀个 ‘-’开头。 type 为关键词,它指⽰了表达式被解释的⽅式。关键词INTERVA及 type 分类符均不区分⼤⼩写。其中date是指定的⽇期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。注意:type可以复合型的,⽐如YEAR_MONTH。
对应复合型的type,需要使⽤引号对两个参数进⾏引⽤起来,中间⽤任何⾮数字字符作为间隔即可,并且不能使⽤负数。具体⽰例如下:
同样,⾮复合型的⽰例如下:
SELECT * FROM event where inputtime>DATE_SUB(NOW(), INTERVAL 1 DAY);
⽽type可以⽀持的类型见下表:MICROSECOND间隔单位:毫秒
SECOND间隔单位:秒
MINUTE间隔单位:分钟
HOUR间隔单位:⼩时
DAY间隔单位:天
WEEK间隔单位:星期
MONTH间隔单位:⽉
QUARTER间隔单位:季度
YEAR间隔单位:年
SECOND_MICROSECOND复合型,间隔单位:秒、毫秒,expr可以⽤两个值来分别指定秒和毫秒MINUTE_MICROSECOND复合型,间隔单位:分、毫秒
MINUTE_SECOND复合型,间隔单位:分、秒
HOUR_MICROSECOND复合型,间隔单位:⼩时、毫秒
HOUR_SECOND复合型,间隔单位:⼩时、秒
HOUR_MINUTE复合型,间隔单位:⼩时分
DAY_MICROSECOND复合型,间隔单位:天、毫秒
DAY_SECOND复合型,间隔单位:天、秒
DAY_MINUTE复合型,间隔单位:天、分
DAY_HOUR复合型,间隔单位:天、⼩时
YEAR_MONTH复合型,间隔单位:年、⽉

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。