将时间添加到MYSQL DATETIME字段?

时间:2015-12-03 11:54:52

标签: mysql

我有一个系统,平板电脑执行任务并报告已完成的任务和时间。其中一款平板电脑已经不同步,时间为2天,3小时,31分钟和31秒,这让我的报道变得混乱。

是否有一种简单的方法可以使用查询将缺少的时间添加到字段中?

我可以确定哪些字段需要更改,因为它们都绑定到单个作业,因此可以将WHERE job_id = 998添加到最后。

我已经浏览了一下,并不能真正了解所提供的答案,并且不能搞砸并插入不正确的时间。

为了澄清,我基本上有一个事件,平板电脑认为发生在'2015-12-01 07:57:30',但实际上发生在'2015-12-03 11:29:01'。我手动完成了一个,但我有超过100行需要更新。类似于:UPDATE job_logs SET entry_time = <CURRENT FIELD DATE> ADD <OUT OF SYNC TIME> WHERE job_id = 998;

任何答案都值得赞赏,因为我仍然在学习&amp;想了解解决方案的工作原理......

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以使用MySQL DATE_ADD()功能,请在SELECT字段

下查看<CURRENT FIELD DATE>查询
SELECT <CURRENT FIELD DATE>,DATE_ADD(<CURRENT FIELD DATE>, INTERVAL '2 3:31:31' DAY_SECOND) 
FROM job_logs
WHERE job_id = 998;

然后您可以在UPDATE查询中使用相同的

UPDATE job_logs 
SET entry_time = DATE_ADD(<CURRENT FIELD DATE>, INTERVAL '2 3:31:31' DAY_SECOND) 
WHERE job_id = 998;

我希望这有效......

答案 1 :(得分:1)

在mysql

中提交的日期时间中添加日期或时间没有问题
UPDATE job_logs SET entry_time = ADDTIME(entry_time , '1:2:3') WHERE job_id = 998

这会将您的entry_time更新为现有entry_time的1小时2分钟和3秒。