Каков наилучший способ рассчитать продолжительность из incode / outcode в MySQL? - PullRequest
0 голосов
/ 30 мая 2018

Я написал следующее, чтобы вычислить длительность по incode / outcode, но мне было интересно, есть ли лучший способ для вычисления этого.

Поскольку TIMEDIFF () является функцией, зависящей от времени, я смог толькоиспользуйте его, чтобы вычислить разницу между первыми 9 символами.Затем я вычитаю последние два символа и добавляю их обратно к «Длительности».

ЧЧ: ММ: СС: FF (FF для кадров), и частота кадров составляет 25 кадров в секунду.

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 голосов
/ 30 мая 2018

Если вы используете 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...