Oblicz godziny pracy między 2 datami w PostgreSQL
Opracowuję algorytm z Postgres (PL / pgSQL) i muszę obliczyć liczbę godzin pracy między 2 znacznikami czasu, biorąc pod uwagę, że weekendy nie działają, a pozostałe dni są liczone tylko od 8 rano do 15 wieczorem.
Przykłady:
Od 3 grudnia o 14:00 do 4 grudnia o 9:00 należy liczyć 2 godziny:
3rd = 1, 4th = 1
Od 3 grudnia o 15:00 do 7 grudnia o 8:00 należy liczyć 8 godzin:
3rd = 0, 4th = 8, 5th = 0, 6th = 0, 7th = 0
Byłoby wspaniale rozważyć również ułamki godzin.