MySQL 减去月和日mysql

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7568072/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 21:11:31  来源:igfitidea点击:

Subtract month and day mysql

mysqlsql

提问by Alexd2

I need to subtract 1 month and 4 days with mysql, I saw the command DATE_ADD (NOW (), - 1 MONTH)perfect for 1 month but for 1 month and 4 days, using 31 days is not valid for every month that some bring 30, 29, 28. I can not add 31 + 4, 30 + 4, etc.

我需要用 mysql 减去 1 个月DATE_ADD (NOW (), - 1 MONTH)零 4 天,我看到该命令 完美适用于 1 个月,但对于 1 个月零 4 天,使用 31 天对于某些带来 30、29、28 的每个月无效。我无法添加31 + 4、30 + 4 等。

回答by Haim Evgi

using DATE_SUB[docs]like :

使用DATE_SUB[docs]像:

DATE_SUB((DATE_SUB(curdate(), INTERVAL 1 MONTH)), INTERVAL 4 DAY)

回答by ptomli

SELECT DATE_ADD(DATE_ADD(NOW(),INTERVAL -1 MONTH), INTERVAL -4 DAY)

回答by david

Keep it simple:

把事情简单化:

SELECT CURDATE() - INTERVAL 1 MONTH - INTERVAL 4 DAY;

or

或者

SELECT '2014-03-27' - INTERVAL 1 MONTH - INTERVAL 4 DAY;

or if you like to preserve the current time:

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

SELECT NOW() - INTERVAL 1 MONTH - INTERVAL 4 DAY;

(Tested on MySQL 5.1.73 and newer)

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

回答by M Rostami

SELECT CURRENT_TIMESTAMP + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;
or
SELECT CURRENT_DATE + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;

SELECT CURRENT_TIMESTAMP + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;
或者
SELECT CURRENT_DATE + INTERVAL - 1 MONTH + INTERVAL - 4 DAY;