Sqlite сумма времени - PullRequest
       5

Sqlite сумма времени

0 голосов
/ 21 февраля 2019

У меня есть таблица со столбцом, который содержит продолжительность времени событий.Если он отформатирован как 'h: mm: ss', я нашел функцию strftime - но в соответствии с руководством требуется формат 'hh: mm: ss', может кто-нибудь сказать мне, как я могу подвести итог продолжительности без воссозданиятаблица sql ?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Вы можете использовать time() и strftime():

select 
  time(sum(
    strftime('%s', case length(timecolumn) when 7 then '0' else '' end || timecolumn) 
    - strftime('%s','00:00:00')), 
   'unixepoch') totaltime
from tablename

Сумма времени результата будет в формате hh:mm:ss.

0 голосов
/ 21 февраля 2019

Это то, что вы хотите?

with t as (
  select '4:02:01' as v
  union all
  select '9:30:12'
  union all
  select '2:14:00'
),
diff as (
 select sum(strftime('%s', '0'||v) - strftime('%s', '00:00:00')) as v
 from t
)

select (v/3600) || ' hours, ' || (v%3600/60) ||' minutes, '
       || (v%60) || ' seconds.'
from diff

https://www.db -fiddle.com / f / 2SNbFYQv2zYiCE4gw5bhzi / 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...