现有四条已完成的数据,完成日期如下:
1、需求:取出最近15天完成的数据。即当前时间(2022-08-22)减 完成时间 小于等于 15天。
SELECT id,finish_day FROM project WHERE datediff(NOW(),finish_day)<=15 AND datediff(NOW(),finish_day)> 0;
2、查当前时间:
SELECT NOW();
3、查当前时间(2022-08-22)与2022-08-20相差天数:
SELECT DATEDIFF(NOW(), "2022-08-20");
4、将时间增加1秒:
SELECT DATE_ADD("2022-08-22 16:07:55",INTERVAL 1 SECOND);
5、将时间推迟2分4秒:
SELECT DATE_ADD("2022-08-22 16:07:55",INTERVAL '2:4' MINUTE_SECOND);
6、将时间推迟1秒另一种写法:
SELECT ADDDATE("2022-08-22 16:07:55",INTERVAL 1 SECOND);
7、当前日期2022-08-22增加5天:
SELECT DATE_ADD("2022-08-22",INTERVAL 5 DAY);
小结:
1、mysql的DATEDIFF() 函数返回两个日期之间的天数。
语法:DATEDIFF(date1,date2)。date1减date2,如2022-08-22减2022-08-20等于2。
date1 和 date2 参数是合法的日期或日期/时间表达式。
注释:只有值的日期部分参与计算。
2、日期增减时间间隔:
语法:DATE_ADD(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
type类型 |
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONT |