Beschreibung
Mit dieser Funktion wird geprüft ob ein angegebenes Datum ein Bundeseinheitlicher Feiertag ist!
Diese Funktion benötigt die Funktion Oracle Feiertage berechnen und Oracle Ostersonntag berechnen.
Parameter
Parameter Name | Parameter Wert |
---|---|
datetocheck | Datum das geprüft werden soll, ob es sich um ein Bundeseinheitlichen Feiertag handelt. |
Rückgabe
Rückgabe Typ | Rückgabe Wert |
---|---|
Integer | Wahr = -1 Falsch = 0 |
Code
CREATE OR REPLACE FUNCTION isholiday(datetocheck DATE) RETURN INTEGER IS RESULT INTEGER; yeartocalc INTEGER; BEGIN yeartocalc := to_number(to_char(datetocheck, 'YYYY')); IF datetocheck = holiday(1, yeartocalc) THEN --Neujahr RESULT := -1; ELSIF datetocheck = holiday(3, yeartocalc) THEN --Karfreitag RESULT := -1; ELSIF datetocheck = holiday(4, yeartocalc) THEN --Ostersonntag RESULT := -1; ELSIF datetocheck = holiday(5, yeartocalc) THEN --Ostermontag RESULT := -1; ELSIF datetocheck = holiday(6, yeartocalc) THEN --1. Mai RESULT := -1; ELSIF datetocheck = holiday(7, yeartocalc) THEN --Christi Himmelfahrt RESULT := -1; ELSIF datetocheck = holiday(8, yeartocalc) THEN --Pfingstmontag RESULT := -1; ELSIF datetocheck = holiday(11, yeartocalc) THEN --Tag der dt. Einheit RESULT := -1; ELSIF datetocheck = holiday(15, yeartocalc) THEN --1. Weihnachtsfeiertag RESULT := -1; ELSIF datetocheck = holiday(16, yeartocalc) THEN --2. Weihnachtsfeiertag RESULT := -1; ELSE RESULT := 0; END IF; RETURN(RESULT); END isholiday;