MySQL将日期添加到日期

Beg*_*ner 41 mysql sql

我有一个MySQL表.什么是sql语句看起来像在表中的当前日期值添加说2天?

UPDATE classes 
SET 
date = date + 1
where id = 161
Run Code Online (Sandbox Code Playgroud)

这增加了一秒的值,我不想更新时间,我想添加两天?

Bjo*_*ern 82

假设您的字段是date类型(或类似):

SELECT DATE_ADD(`your_field_name`, INTERVAL 2 DAY) 
FROM `table_name`;
Run Code Online (Sandbox Code Playgroud)

您提供的示例可能如下所示:

UPDATE classes 
SET `date` = DATE_ADD(`date` , INTERVAL 2 DAY)
WHERE `id` = 161;
Run Code Online (Sandbox Code Playgroud)

这种方法也适用datetime.


Gus*_*ors 7

UPDATE table SET nameofdatefield = ADDDATE(nameofdatefield, 2) WHERE ...
Run Code Online (Sandbox Code Playgroud)

  • 请始终在您的代码中发布某种解释或参考资料或其他内容。纯代码答案对于教育未来的研究人员几乎没有什么帮助,他们可能会或可能不会拥有特定语言的高水平知识。给予“多一点”总是会提高您的帖子的赚取积分的潜力,并且它有助于 StackOverflow 不仅仅是解决方案的集合,而且是更全面/有用的资源。 (2认同)

小智 6

您可以保留 date_add 函数。

UPDATE `table` 
SET `yourdatefield` = `yourdatefield` + INTERVAL 2 DAY
WHERE ...
Run Code Online (Sandbox Code Playgroud)


小智 5

此查询适用于获取当前日期与其接下来的 3 个日期之间的值

SELECT * FROM tableName
WHERE columName BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)
Run Code Online (Sandbox Code Playgroud)

这最终会为当前日期增加额外的 3 天缓冲。