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

fnx2tebb  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(211)

我写了以下代码来计算incode/outcode的持续时间,但是我想知道是否有更好的方法来计算这个。
因为timediff()是一个特定于时间的函数,所以我只能用它来计算前9个字符之间的差异。然后我减去最后两个字符,把它们加回到“duration”中。
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+

rkttyhzu

rkttyhzu1#

如果您使用的是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

相关问题