Рассчитать рабочее время между 2 датами в PostgreSQL

Я разрабатываю алгоритм с Postgres (PL / pgSQL), и мне нужно рассчитать количество рабочих часов между 2 временными метками, учитывая, что выходные не работают, а остальные дни считаются только с 8:00 до 15:00.

Примеры:

С 3 декабря в 14:00 до 4 декабря в 9:00 следует считать 2 часа:

3rd = 1, 4th = 1

С 3 декабря в 15:00 до 7 декабря в 8:00 следует считать 8 часов:

3rd = 0, 4th = 8, 5th = 0, 6th = 0, 7th = 0

Было бы здорово рассмотреть и часовые доли.

Ответы на вопрос(3)

Ваш ответ на вопрос