如何在 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;
lastname 和 changedat 是字段名,employee_audit 是表名。
我已经从我的日期中减去 15 天 - 请检查图片。谢谢
【讨论】:
以上是关于如何在 MySQL 中减去天数的主要内容,如果未能解决你的问题,请参考以下文章
如何从用户在android studio中提供的日期中减去固定天数?