如何在Mysql上增加间隔日期

时间:2016-08-06 01:40:17

标签: mysql

是否可以在mysql上增加日期值?说我有这个:

+------+---------------------+
| PID  | mydate              |
+------+---------------------+
|    1 | 2016-08-06 08:00:00 |
|    2 | 2016-08-06 08:00:00 |
|    3 | 2016-08-06 08:00:00 |
+------+---------------------+

我想让每个值增加10个小时,如下所示:

+------+---------------------+
| PID  | mydate              |
+------+---------------------+
|    1 | 2016-08-06 18:00:00 |
|    2 | 2016-08-07 04:00:00 |
|    3 | 2016-08-07 14:00:00 |
+------+---------------------+

我试过这个

update mytable set mydate = now() + interval 10 hour;

但是从现在开始,每个值都会更新到10个小时。

1 个答案:

答案 0 :(得分:2)

您可以使用变量:

JTextArea(int, int)

编辑:

我注意到原始数据中的排序。要做到这一点:

update mytable cross join
       (select @i := 0) params
    set mydate = mydate + interval 10 * (@i := @i + 1) hour;

甚至:

set @i = 0;

update mytable 
    set mydate = mydate + interval 10 * (@i := @i + 1) hour
    order by id;

仅当update mytable set mydate = mydate + interval 10 * (id - 1) hour order by id; 递增1并且没有间隙时才有效。