MySQL处理时间相关的函数

NOW()

查询当前时间

SELECT NOW()

查询结果

2018-01-06 17:12:48

DATE(expr)

返回时间格式的“年-月-日”格式数据

SELECT DATE('2017-09-01 23:18:26')

查询结果

2017-09-01

TIME(expr)

返回时间格式的“时:分:秒”格式数据

SELECT TIME('2017-09-01 18:15:36')

查询结果

18:15:36

DATEDIFF(expr1,expr2)

查询两个时间间隔天数(第一个时间减去第二个时间的差值)

SELECT DATEDIFF('2017-12-19','2017-12-16')

查询结果

3

TIMEDIFF(expr1,expr2)

查询两个时间精确到秒的间隔(第一个时间减去第二个时间的差值)
查询

SELECT TIMEDIFF('2017-09-06 18:15:57','2017-09-01 17:30:18')

查询结果

120:45:39

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

查询两个时间间隔的指定格式unit的差距
unit可以是YEAR、MONTH、DAY、HOUR、MINUTE和SECOND

查询“2017-09-01”和“2017-09-06”的间隔天数
SELECT TIMESTAMPDIFF(DAY,'2017-09-01','2017-09-06')

查询结果

5
查询“2017-09-01”和“2017-09-06”的间隔小时数
SELECT TIMESTAMPDIFF(HOUR,'2017-09-01','2017-09-06')

查询结果

120

DATE_SUB(date,INTERVAL expr unit)

查询规定格式unit在时间点date之前的时间点。
unit可以是YEAR、MONTH、DAY、HOUR、MINUTE和SECOND

查询“2017-09-01”90天之前的日期
SELECT DATE_SUB('2017-09-01',INTERVAL 90 day)

查询结果

2017-06-03
查询“2017-09-01 18:00:00”时刻17个小时之前的时间点
SELECT DATE_SUB('2017-09-01 18:00:00',INTERVAL 17 HOUR)

查询结果

2017-09-01 01:00:00

DATE_ADD(date,INTERVAL expr unit)

添加规定格式unit在时间点date之后的时间点。
unit可以是YEAR、MONTH、DAY、HOUR、MINUTE和SECOND

查询“2017-09-01”加18年的时间点
SELECT DATE_ADD('2017-09-01',INTERVAL 18 YEAR)

查询结果

2035-09-01
查询“2017-09-01”加15天的时间点
SELECT DATE_ADD('2017-09-01',INTERVAL 15 DAY)

查询结果

2017-09-16

TIMESTAMPADD(unit,interval,datetime_expr)

添加规定格式unit在时间点date之后的时间点。
unit可以是YEAR、MONTH、DAY、HOUR、MINUTE和SECOND

查询“2017-09-01 18:15:36”加1000分钟的时间点
SELECT TIMESTAMPADD(MINUTE,1000,'2017-09-01 18:15:36')

查询结果

2017-09-02 10:55:36

DATE_FORMAT(date,format)

格式化时间,可以使用的格式有:点此查看

格式化“2017-09-01 18:15:36”为“年-月-日”格式
SELECT DATE_FORMAT('2017-09-01 18:15:36','%Y-%m-%d');

查询结果

2017-09-01
格式化“2017-09-01 18:15:36”为“年/月/日 时:分:秒”格式
SELECT DATE_FORMAT('2017-09-01 18:15:36','%Y/%m/%d %H:%i:%s')

查询结果

2017/09/01 18:15:36

TIME_FORMAT(time,format)

格式化时间,可以使用的格式有:点此查看

格式化“18:15:36”为“年 月 日 时:分:秒”格式
SELECT TIME_FORMAT('18:15:36','%H %i %s')

查询结果

18 15 36

YEAR(date)、MONTH(date)、DAY(date)、HOUR(date)、MINUTE(date)和SECOND(date)

获取date的单独某一单位的数值

SELECT YEAR('2017-09-01 18:15:36')

查询结果

2017

发表评论

邮箱地址不会被公开。 必填项已用*标注