36

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

4

5 回答 5

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

有关单位列表,请参阅http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add

于 2010-11-08T10:33:02.070 回答
7

与此问题不完全相关,但与标题有关:

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")

文档:MySQLSUBTIME函数

于 2018-10-04T03:55:01.107 回答
4

采用:

SELECT NOW() - INTERVAL 15 DAY

保持日期时间精度。

于 2018-08-31T10:20:01.437 回答
0

你可以使用这个:

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

于 2019-02-13T17:24:31.800 回答
0

是的,它可以在 Mysql 中使用日期函数

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

lastnamechangedat是字段名,employee_audit是表名。

在此处输入图像描述

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

于 2021-10-03T14:30:16.520 回答