一、用到的函数有:
1.时间格式化函数
DATE_FORMAT(date,format)
2.时间加减函数
DATE_ADD(date,INTERVAL expr unit)
DATE_SUB(date,INTERVAL expr unit)
3.两个时间求差函数
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
4.时间戳转换时间函数
FROM_UNIXTIME(unix_timestamp,format)
5.字符串转时间函数
UNIX_TIMESTAMP()
二、常用的时间SQL
1.今天
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d'); #年-月-日
SELECT DATE_FORMAT(NOW(),'%T');#时分秒
SELECT DATE_FORMAT(NOW(),'%a %H-%i-%s');#年-月-日 星期缩写 时分秒
SELECT DATE_FORMAT(NOW(),'%m %h-%i-%s');#月 时(01-12)分秒
2.昨天
#昨天
SELECT DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL -1 DAY);
3.上个月
#上个月
SELECT DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL -1 MONTH);
4.两个时间相减
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) expr2 - expr1,unit 可为 年 、月、日、时分秒
#两个日期相减
#TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) expr2 - expr1,unit 可为 年 、月、日、时分秒
SELECT TIMESTAMPDIFF(day,'2020-06-02','2020-06-08');
SELECT TIMESTAMPDIFF(MONTH,'2020-02-12','2020-06-08');
SELECT TIMESTAMPDIFF(YEAR,'2020-02-12','2021-06-08');
#两个时间相减,时分秒
SELECT TIMESTAMPDIFF(HOUR,'2020-06-08 03:11:22','2020-06-08 06:21:32');
SELECT TIMESTAMPDIFF(MINUTE,'2020-06-08 03:11:22','2020-06-08 06:21:32');
SELECT TIMESTAMPDIFF(SECOND,'2020-06-08 03:11:22','2020-06-08 06:21:32');
5.一个时间减去一个值
#时间减去一个值
SELECT DATE_ADD('2020-05-22 15:28:39',INTERVAL -3 HOUR);
SELECT DATE_ADD('2020-05-22 15:28:39',INTERVAL -30 MINUTE);
SELECT DATE_ADD('2020-05-22 15:28:39',INTERVAL -30 SECOND);
6.转换时间戳
SELECT FROM_UNIXTIME(1592361071,'%Y-%m-%d %H-%i-%s');#时间戳(秒)转时间
SELECT UNIX_TIMESTAMP('2020-06-17 10:16:25');#字符串转时间戳
7.字符串转时间
#字符串转时间
SELECT STR_TO_DATE('2019-06-24','%Y-%m-%d');