mysql——date_add()函数

发布时间 2023-04-12 15:39:54作者: hushuer

对时间进行加减的函数

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 hour); #对于日期加上1小时
+-------------------------------------------------+
| date_add('2018-06-26 23:59:59',INTERVAL 1 hour) |
+-------------------------------------------------+
| 2018-06-27 00:59:59 |
+-------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 minute); #对于日期加上1分钟
+---------------------------------------------------+
| date_add('2018-06-26 23:59:59',INTERVAL 1 minute) |
+---------------------------------------------------+
| 2018-06-27 00:00:59 |
+---------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add('2018-06-26 23:59:59',INTERVAL 1 second); #对日期加上1秒钟
+---------------------------------------------------+
| date_add('2018-06-26 23:59:59',INTERVAL 1 second) |
+---------------------------------------------------+
| 2018-06-27 00:00:00 |
+---------------------------------------------------+
1 row in set (0.00 sec)

 

可以和date_format()套用:

比如date_format(),将不整齐的日期时间,变为年-月-日格式,去掉时分秒后,加减n天,再使用date_format()格式化为带时分秒的格式,再使用date_add(),统一加上n小时/分钟

2023-01-02 12:56:00    2022-04-06 01:12:12变为2023-01-01 08:00:00    2022-04-05 08:00:00

写法:

date_add(date_format(date_add(date_format(xx时间字段,'%Y-%m-%d'),interval -1 day),'%Y-%m-%d %H:%i:%s'),interval 8 hour)