Berechnen Sie die Arbeitszeit zwischen zwei Daten in PostgreSQL

Ich entwickle einen Algorithmus mit Postgres (PL / pgSQL) und muss die Anzahl der Arbeitsstunden zwischen zwei Zeitstempeln berechnen, wobei zu berücksichtigen ist, dass die Wochenenden nicht funktionieren und der Rest der Tage nur von 8 bis 15 Uhr gezählt wird.

Beispiele:

Vom 3. Dezember um 14 Uhr bis zum 4. Dezember um 9 Uhr sollten 2 Stunden zählen:

3rd = 1, 4th = 1

Vom 3. Dezember um 15 Uhr bis zum 7. Dezember um 8 Uhr sollten 8 Stunden zählen:

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

Es wäre großartig, auch Stundenbruchteile zu berücksichtigen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage