MySQL日期的加减

时间:2022-09-22 15:16:17
-- MySQL日期的加减

-- 简单的日期加减法
SELECT '2017-01-01'+ INTERVAL '1' YEAR
SELECT '2017-01-01'+ INTERVAL '1' MONTH
SELECT '2017-01-01'+ INTERVAL '1' DAY

SELECT '2017-01-01'+ INTERVAL '-1' YEAR
SELECT '2017-01-01'+ INTERVAL '-1' MONTH
SELECT '2017-01-01'+ INTERVAL '-1' DAY

SELECT '2017-01-01'- INTERVAL '1' YEAR
SELECT '2017-01-01'- INTERVAL '1' MONTH
SELECT '2017-01-01'- INTERVAL '1' DAY


-- 作为where条件
-- 查询添加时间为2017年1月2日记录
SELECT * FROM book WHERE atime='2017-01-01' +INTERVAL '1' DAY
-- 查询添加时间为2016年12月31日记录
SELECT * FROM book WHERE atime='2017-01-01' -INTERVAL '1' DAY


-- 常用日期函数

-- ADDDATE(date,INTERVAL expr unit)
SELECT ADDDATE('2017-01-01', INTERVAL 32 DAY);
SELECT ADDDATE('2017-01-01', INTERVAL -32 DAY);
-- 默认增加整天数:ADDDATE(expr,days)
SELECT ADDDATE('2017-01-01',-3)
SELECT ADDDATE('1998-01-02', 31);

-- ADDTIME(expr1,expr2)
SELECT ADDTIME('02177-01-01 23:59:59.999999','-1 1:1:1.000002');
SELECT ADDTIME('02177-01-01 23:59:59.999999','1 1:1:1.000002');

-- 日期间隔/天:DATEDIFF(date1,date2)
SELECT DATEDIFF('2009-12-31','2009-1-1')