考虑使用以下两个时间戳
"2018-07-12 23:50:00","2018-07-14 00:30:00"
我想找到平均值 time
他们两个。
结果应该是 00:10:00
作为一个时代(我对最后的实际日期不感兴趣,只对时间感兴趣)。
我首先比较哪一个比较早(连续时间流),但失败了。如果我用日期来比较 23:50:00
(无论哪个时间)总是更早,因为它也考虑了日期。如果我用时间来比较 00:30
总是更早,因为它只考虑时间本身。
稍后我需要一个有两个时间戳的触发器。当前存储的一个( OLD
)以及最新的( NEW
)计算新的平均时间。
如有任何建议,我们将不胜感激
1条答案
按热度按时间nwlls2ji1#
当你取两个的平均值时
DATETIME
实际计算的值DATETIME
两个输入值之间的中点处的值。这里有一个方法来计算2的平均值
DATETIME
价值观。这是因为unix时间戳实际上是自历史上某个特定时间以来的秒数。它们是数字量,你可以用它们做算术运算。
那么,如果你只想要平均时间的一部分,你可以使用
TIME()
功能。但是,看起来你实际上并不想要2的数字平均值
DATETIME
价值观;你的例子是24小时20米的距离。看起来您想要的是时间的平均值,就好像较早的datetime在较晚的datetime的前一天一样。你可以这样计算:
处理假象的诀窍是
IF()
函数调用。这对于用sql编写来说是一个很大的困难,因此创建一个存储函数来处理它可能是有意义的。