如何在 MySQL 中减去天数

Posted

技术标签:

【中文标题】如何在 MySQL 中减去天数【英文标题】:How to Subtract Days in MySQL 【发布时间】:2010-11-08 10:31:24 【问题描述】:

如何在 mysql 中减去时间?例如,今天是 3 月 16 日;我想减去 15 天到达 3 月 1 日。有没有什么方法可以从当前日期减去 15 天?

【问题讨论】:

【参考方案1】:
SELECT DATE(NOW()-INTERVAL 15 DAY)

单位列表见http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add

【讨论】:

【参考方案2】:

与本题不完全相关,但与题目相关:

SELECT SUBTIME("10:24:21", "5");        -- subtracts 5 seconds. (returns "10:24:16")

SELECT SUBTIME("10:24:21", "01:00:00");  -- subtracts one hour. (returns "09:24:21")

文档:MySQL SUBTIME function

【讨论】:

请注意,第一个示例(减去秒数)最多只能工作 59 秒。一分钟或更长时间的持续时间必须指定为HH:MM:SS 这个答案 确实 匹配问题的标题,直到我修复了标题。 :-)【参考方案3】:

用途:

SELECT NOW() - INTERVAL 15 DAY

保持日期时间精度。

【讨论】:

【参考方案4】:

你可以用这个:

SELECT DATE(NOW()-INTERVAL 15 DAY);

当你想减去天数时。

为了减去时间,比如 15 分钟,以下应该可以工作:

SELECT(DATE_SUB(NOW(), INTERVAL '15:0' MINUTE_SECOND));

再次添加参考链接:- https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-add.

【讨论】:

【参考方案5】:

是的,可以在 Mysql 中使用 date 函数

    select distinct
 lastname, 
      changedat, date_add(changedat, interval -15 day) as newdate
from employee_audit;

lastnamechangedat 是字段名,employee_audit 是表名。

我已经从我的日期中减去 15 天 - 请检查图片。谢谢

【讨论】:

以上是关于如何在 MySQL 中减去天数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TypeScript 中从日期中减去天数

如何从用户在android studio中提供的日期中减去固定天数?

从日期中添加或减去天数时如何避免周末或节假日[重复]

如何从普通日期中减去天数?

如何使用 postgresql/netezza 从日期时间中减去天数或月数

如何在mongoDB中获取日期差异?日期应该是天数的差异?