Рассчитайте разницу между двумя часами на PostgreSQL 9.4 - PullRequest
1 голос
/ 28 мая 2019

С учетом таблицы в следующем виде:

    create table meetings(
    id integer primary key,
    start_time varchar,
    end_time varchar
)

Учитывая, что строки, хранящиеся в этой таблице, соответствуют формату «ЧЧ: ММ» и имеют формат 24 часа, есть ли команда в PostgreSQL 9.4, чтобы я мог приводить поля ко времени, вычислять разницу между ними и возвращать Единый результат подсчета полных часов?

Например: start_time: '08:00' - end_time: '12:00' Результат должен быть 4.

Заранее спасибо.

1 Ответ

1 голос
/ 28 мая 2019

В вашем конкретном случае, если вы работаете со значениями часов (оба они принадлежат одному и тому же дню), я думаю, вы можете сделать это

(clock_to::time - clock_from::time) as duration

Позвольте мне оставить вас готовымзапустить пример:

with cte as (
  select '4:00'::varchar as clock_from, '14:00'::varchar as clock_to
)
select (clock_to::time - clock_from::time) as duration
from cte

Надеюсь, это поможет!

...