0

我有的:

我有一个时间戳字段,其中包含我的项目开始的时间

用户正在使用完成百分比更新项目(1 到 100 而不是 0.01 到 1)

我想插入带有估计完成时间戳的更新表。

基础数学:

如何获得项目的全职:

(now() - start timestamp) * (100 / percent complete)

时间结束:

start timestamp + full time of the project estimated above

然后我需要在插入期间将估计的结束时间插入表中。

4

2 回答 2

0

马上你就有问题了,别管数学了。

timestamp每次触摸该行时,数据类型都会自动更新为当前时间。这意味着当“用户更新项目”时,该start_timestamp列也会更新!

相反,您需要datetime数据类型,它存储相同类型的数据,但在更新其他列时不会更新。

于 2012-08-25T18:41:25.387 回答
0

我想我明白了。

select timestampadd(second, round(timestampdiff(second, '2012-08-22 22:00:30', now())*(100/33)), '2012-08-22 22:00:30');

返回:2012-08-30 17:28:41

33 将是 %,其他时间戳是开始时间。完美运行。

于 2012-08-25T18:57:16.507 回答