仅更新sql中的日期

时间:2014-02-12 07:45:30

标签: mysql sql date

表名:任务列表

|start_time                |end_time                  |task_duration  |
 __________________________ __________________________ _______________
|2001-01-01 17:24:50.000000|2014-02-04 10:04:10.000000|00:14:53.000000|
|2013-08-31 10:53:09.000000|2013-09-19 11:16:54.000000|00:21:19.000000|
|2013-08-31 18:30:28.000000|2013-10-07 18:43:55.000000|00:13:17.000000|

我必须将start_time的日期部分更改为end_time列,保留时间值,因为我需要task_duration列。我用这个查询得到了这个

SELECT * FROM `tasklist` WHERE (DATEDIFF(`end_time`,`start_time`)> 1)

2 个答案:

答案 0 :(得分:2)

UPDATE YourTable
SET YourColumn = DATEADD(MONTH,1,YourColumn) 
WHERE YourColumn = '20120410 08:03:00'

答案 1 :(得分:0)

您可以找到完整的参考资料here。 例如,假设您要为当前的启动时数据添加30天。您可以使用以下语法实现相同的目的:

UPDATE tasklist SET starttime = DATE_ADD(starttime, INTERVAL 30 DAY);

希望这有帮助!

本答案顶部提供的链接包含大量示例,可帮助您了解操作。