如何从现在开始增加一些时间?(MySQL)

时间:2013-08-14 21:06:30

标签: mysql

如何在mysql中添加一定的时间?

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE(NOW() + INTERVAL 30 DAY), 0);

它说语法错误。我认为这个问题是由DATE函数引起的。也尝试使用NOW()+ INTERVAL 30 DAY,但它也没有用。

2 个答案:

答案 0 :(得分:1)

我认为DATE_ADD(date,INTERVAL expr type)正是您所寻找的......

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE_ADD(NOW(), INTERVAL 30 DAY),0);

可以找到一些文档here

这是SQLFiddle

答案 1 :(得分:0)

问题不在日期数学中。只需将第二个参数留给DATE(), 如:

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE(NOW() + INTERVAL 30 DAY));

这是一个SqlFiddle:http://sqlfiddle.com/#!2/f479f/1