mysql now +1天

我在MySQL查询中使用now()

INSERT INTO table SET data = '$data', date = now()
但是我想在这个日期上增加1天(这样date应该包含明天) 这可能吗?< / p >
365528 次浏览

你可以使用:

NOW() + INTERVAL 1 DAY

如果你只对日期感兴趣,而不是日期和时间,那么你可以使用CURDATE而不是NOW:

CURDATE() + INTERVAL 1 DAY

尝试执行:INSERT INTO table(data, date) VALUES ('$data', now() + interval 1 day)

最好使用引号`data``date`。当然,这些话可能有些含蓄 我的版本是:

INSERT INTO `table` ( `data` , `date` ) VALUES('".$date."',NOW()+INTERVAL 1 DAY);
INSERT INTO `table` ( `data` , `date` ) VALUES('".$data."',NOW()+INTERVAL 1 DAY);

要向日期值添加时间吗?MySQL间隔值用于日期和时间计算。有多种方法可以创建间隔值。

一种方法是在查询中使用以下表达式:

日期 (+-) 时间间隔 价值 [单位]

  • 单位是要加/减的间隔类型。它可以是以下值之一
微秒 第二个 一分钟
小时 一天
季度 一年

查看完整列表here

  • 注意,INTERVAL和UNIT是不区分大小写的。

日期算术不像时间算术那么简单,因为月和年的长度不同,所以MySQL提供了< em > <强>特殊功能< /强> < / em >。或者,你也可以使用DATE_ADD ()DATE_SUB ()函数,它们为日期值添加或减去时间/日期间隔,然后返回结果。

例子

-- Results were the same for all, '2018-05-02'


DATE_ADD('2018-05-01',INTERVAL 1 DAY);


'2018-05-01' + INTERVAL 1 DAY


'2018-05-01' + INTERVAL 24 HOUR

更多的例子

SELECT DATE_ADD('2100-12-31 23:59:59',INTERVAL '1:1' MINUTE_SECOND);-- '2101-01-01 00:01:00'


SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);-- '1997-12-02'


INSERT INTO `table` ( `title` , `date` )
VALUES('tomorrow never dies',NOW()+INTERVAL 1 DAY); --insert tomorrow date


SELECT DATE_ADD( NOW(), INTERVAL 1 DAY);--tomorrow date


SELECT NOW() + INTERVAL 1 DAY;--tomorrow date