Tage zwischen 2 Daten

Hallo Zusammen,

ich habe folgendes Problem:

Ich habe ein Abwesenheitstabelle (MSSQL) von Mitarbeitern, worin in der Form
Startdatum Enddatum Typ drinsteht, wann sie zB Urlaub haben.
Wie kann ich in einer Abfrage/Funktion berechnen, viele Tage das sind (incl. Start& Enddatum) und nach Möglichkeit ob und wieviel Freitage darun enthalten sind. Sinn dessen ist es letztlich, auszurechnen, wieviel Arbeitsstunden der Mitarbeiter nicht da ist (Fr. andere Stundenzahl)

Vielen Dank für einen Tipp.

Gruß… Habanera

Hallo,

was da so einfach klingt, ist eigentlich ziemlich kompliziert. Wenn man es richtig macht, braucht man dafür einen Firmenkalender mit Feiertagen und Werksschließungen (z.B. Weihnachten und Neujahr). Die Feiertage sind abhängig vom Bundesland. Dazu ein Regelwerk: was macht ein Angestellter auf Dienstreise, wenn es dort einen Feiertag gibt.

Darauf legt man eine Stundentafel, die sich auf Angestelltengruppen bezieht. Die enthält die entsprechenden Arbeitszeiten.
Dasselbe für Krankheit, Schwangerschaft usw.

Solche Berechnungen macht man dann auch nicht mehr in der Datenbank, sondern in der Applikation.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Du könntest einen Cursor (Oracle Terminologie) schreiben, der vom Starttermin tageweise bis zum Endtermin durchläuft und für jeden Tag prüft, ob es eine Feiertag, Urlaubstage etc ist.
Das ist zwar nicht die eleganteste, aber die übersichtlichste Löseung.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]