上一篇博文说了一个mysql 中 关于 date_add() 函数的用法,那么这篇博文再说一个与之功能相反的函数 date_sub(),此函数的功能可以在指定的时间日期上减去指定的年,月,日,时,分,秒等,并且返回处理后的时间。

mysql date_sub 函数介绍

date_sub:从一个指定的日期上减去指定的时间间隔,并返回处理后的日期。

语法:

DATE_SUB(date,INTERVAL expr type)

参数:

date:合法的日期或表达试

expr:表示希望减去的时间间隔

type:表示减去时间间隔的单位,比如秒,分钟等。

注意:关于 type 参数的,可以参考这篇文章:https://www.feiniaomy.com/post/755.html

mysql date_sub() 函数的用法

1、date_sub函数在当前时间减去一年

mysql> select date_sub(now(),interval 1 year);
+---------------------------------+
| date_sub(now(),interval 1 year) |
+---------------------------------+
| 2020-06-07 17:41:51             |
+---------------------------------+
1 row in set (0.00 sec)

图示:

2、date_sub() 函数减去一周的时间

mysql> select date_sub('2021-06-06',interval 1 week);
+----------------------------------------+
| date_sub('2021-06-06',interval 1 week) |
+----------------------------------------+
| 2021-05-30                             |
+----------------------------------------+
1 row in set (0.00 sec)

图示:

3、date_sub() 函数减去一个小时

sql命令

mysql> select date_sub('2021-06-06 10:00:25',interval 1 hour);
+-------------------------------------------------+
| date_sub('2021-06-06 10:00:25',interval 1 hour) |
+-------------------------------------------------+
| 2021-06-06 09:00:25                             |
+-------------------------------------------------+
1 row in set (0.00 sec)

图示:

4、date_sub() 函数减去1天1小时

sql命令

mysql> select date_sub('2021-06-06 10:00:25',interval '1_1' day_hour);
+---------------------------------------------------------+
| date_sub('2021-06-06 10:00:25',interval '1_1' day_hour) |
+---------------------------------------------------------+
| 2021-06-05 09:00:25                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

图示:

5、date_sub() 减去1年1个月

mysql> select date_sub('2021-06-06 10:00:25',interval '1_1' year_month);
+-----------------------------------------------------------+
| date_sub('2021-06-06 10:00:25',interval '1_1' year_month) |
+-----------------------------------------------------------+
| 2020-05-06 10:00:25                                       |
+-----------------------------------------------------------+
1 row in set (0.00 sec)

图示: