从MySQL中的incode / outcode计算持续时间的最佳方法是什么?

时间:2018-05-30 16:10:50

标签: mysql mariadb

我已经编写了以下内容来计算incode / outcode的持续时间,但是想知道是否有更好的计算方法。

由于TIMEDIFF()是一个特定于时间的函数,我只能用它来计算前9个字符之间的差异。然后我减去最后两个字符并将它们添加回'持续时间'。

HH:MM:SS:FF(帧为FF),帧速率为25fps。

incode = '10:00:01:00'
outcode = '10:01:05:02'

select CONCAT(SUBSTR(TIMEDIFF(outcode, incode), 1, 8), ':', 
LPAD((SUBSTR(outcode, 10, 11) - SUBSTR(incode, 10, 11)), 2, 0)) as 'Duration';

持续时间应为: 00:01:04:02

MySQL版本:5.5 +

1 个答案:

答案 0 :(得分:0)

如果您使用的是5.5.x或更高版本,则可以考虑以下内容......

SET @timecode_2 = '10:01:05:02';
SELECT SEC_TO_TIME(TIME_TO_SEC(SUBSTRING_INDEX(@timecode_2,':',3))+SUBSTRING_INDEX(@timecode_2,':',-1)*0.04) x;

输出:

x
10:01:05.0800000