Arbeitstage

Und wieder eine Frage:-)
Gibt es Datenbanktechnisch eine komfortable Lösung die Arbeitstage innerhalb eines bestimmten Datumsbreichs zu ermitteln?
Ein Ansatz wäre eine Tabelle mit den Jahresdaten zu füllen und jeweils die Arbeitstage mit einer Spalte und dem Wert 1 und den Rest mit 0 zu belegen, dann könnte mit sum() die Anzahl der Arbeitstage ermittelt werden.
Hat jemand vielleicht noch eine bessere Idee, mir gefällt der Umweg über diese Jahrestabelle noch nicht wirklich.


Danke

Gruß
Andreas

Mit einer Systemfunktion wirst du das nicht lösen können. Da gibt es einige Hindernisse:

  • Sind Samstage Arbeitstage?
  • Was ist mit Brückentagen?
  • Wie markierst du Feiertage, die auf einen Arbeitstag fallen?
  • Was ist mit Betriebsschließungen?

OK
Also komm ich eigentlich nicht drum rum eine Jahrestabelle zu erstellen, in der
eine Spalte (Flag_Arbeitstag oder so) ein “NICHT” Arbeitstag mit 0 gewertet, und
ein Arbeitstag mit 1 gewertet ist.
Das ganze dann mit einem subselect auf die Summe in einem bestimmten Datumsbereich.

Haltest du das für das richtige Vorgehen?

Danke

Ich habe hier eine Tabelle mit den Feiertagen in Sachsen (plus Betriebsruhe) und mit deren Hilfe kann man das dann berechnen…

Andreas

Das wirst Du nicht anders lösen können.
Um die Anzahl der Arbeitstage zu kennen musst Du vor allem wissen für welche Stadt Du das berechnest.
Das Bundesland alleine ist nicht genug, es gibt auch “gesetzliche” Feiertage die nur für eine Stadt gelten.

Jep, castorp hat Recht. Länder, Bundesländer und weitere Einschränkungen muss man auch aufnehmen.

Oh, und ich würde passenderweise ein BOOLEAN statt 0 und 1 verwenden. Dafür gibt es den Datentyp.