Mysql日期的加减法

更新时间:01-24 教程 由 沉苍 分享

MySQL是一款常用的关系型数据库,常常需要进行日期相关的计算。MySQL提供了一些函数来实现日期的加减法。

SELECT DATE_ADD('2022-01-01', INTERVAL 1 DAY); -- 返回2022-01-02SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH); -- 返回2022-02-01SELECT DATE_ADD('2022-01-01', INTERVAL 1 YEAR); -- 返回2023-01-01SELECT DATE_SUB('2022-01-01', INTERVAL 1 DAY); -- 返回2021-12-31SELECT DATE_SUB('2022-01-01', INTERVAL 1 MONTH); -- 返回2021-12-01SELECT DATE_SUB('2022-01-01', INTERVAL 1 YEAR); -- 返回2021-01-01

上述代码演示了使用DATE_ADD()和DATE_SUB()函数计算日期加减法。其中,第一个参数是需要进行计算的日期,第二个参数是需要加减的时间间隔。时间间隔可以是DAY、WEEK、MONTH、QUARTER、YEAR等。

SELECT DATE_ADD('2022-01-31', INTERVAL 1 MONTH); -- 返回2022-02-28SELECT DATE_ADD('2022-02-28', INTERVAL 1 MONTH); -- 返回2022-03-28SELECT DATE_SUB('2022-03-31', INTERVAL 1 MONTH); -- 返回2022-02-28SELECT DATE_ADD('2022-02-28', INTERVAL 1 MONTH) + INTERVAL 1 DAY; -- 返回2022-03-29

需要注意的是,使用DATE_ADD()和DATE_SUB()函数进行月份的计算可能会遇到一些问题。如上例所示,对于2022年1月31日加一个月后,结果是2022年2月28日,因为2月没有31日。对于2022年2月28日加一个月后,结果是2022年3月28日,因为在下一个月的最后一天是28日。同时,需要加上1天才能得到正确结果。

除了使用DATE_ADD()和DATE_SUB()函数外,还可以使用DATE_FORMAT()函数,向日期字符串中添加或减去一些数值来实现日期的加减法。

SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d' + INTERVAL 1 DAY); -- 返回2022-01-02SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d' + INTERVAL 1 MONTH); -- 返回2022-02-01SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d' + INTERVAL 1 YEAR); -- 返回2023-01-01

上述代码演示了使用DATE_FORMAT()函数计算日期的加减法。需要注意,在日期字符串后面添加或减去数值时,字符串需要使用单引号或双引号括起来。

声明:关于《Mysql日期的加减法》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2069034.html