减去月和日的mysql

Ale*_*xd2 41 mysql sql

我需要用mysql减去1个月和4天,我看到命令 DATE_ADD (NOW (), - 1 MONTH)完美1个月但是1个月和4天,使用31天无效,每个月有些带30,29,28.我无法添加31 + 4,30 + 4等

Hai*_*vgi 80

使用DATE_SUB [docs] 如:

DATE_SUB((DATE_SUB(curdate(), INTERVAL 1 MONTH)), INTERVAL 4 DAY)
Run Code Online (Sandbox Code Playgroud)


pto*_*mli 14

SELECT DATE_ADD(DATE_ADD(NOW(),INTERVAL -1 MONTH), INTERVAL -4 DAY)
Run Code Online (Sandbox Code Playgroud)


dav*_*vid 13

把事情简单化:

SELECT CURDATE() - INTERVAL 1 MONTH - INTERVAL 4 DAY;
Run Code Online (Sandbox Code Playgroud)

或者

SELECT '2014-03-27' - INTERVAL 1 MONTH - INTERVAL 4 DAY;
Run Code Online (Sandbox Code Playgroud)

或者如果您想保留当前时间:

SELECT NOW() - INTERVAL 1 MONTH - INTERVAL 4 DAY;
Run Code Online (Sandbox Code Playgroud)

(在 MySQL 5.1.73 及更新版本上测试)