/
hol_de_ni.sql
135 lines (104 loc) · 3 KB
/
hol_de_ni.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
-- Germany Lower Saxony
BEGIN;
UPDATE dim_calendar
SET hol_de_ni = FALSE
;
-- New Year's Day Neujahrstag 1 January
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 1
AND EXTRACT( MONTH FROM calendar_date) = 1
;
-- -- Epiphany Heilige Drei Könige 6 January
-- UPDATE dim_calendar
-- SET hol_de_ni = TRUE
-- WHERE EXTRACT( DAY FROM calendar_date) = 6
-- AND EXTRACT( MONTH FROM calendar_date) = 1
-- ;
-- Good Friday Karfreitag Easter Sunday - 2d
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE calc_western_good_fri = TRUE
;
-- Easter Monday Ostermontag Easter Sunday + 1d
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE calc_western_easter_mon = TRUE
;
-- Labor Day Tag der Arbeit 1 May
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 1
AND EXTRACT( MONTH FROM calendar_date) = 5
;
-- Ascension Day Christi Himmelfahrt Easter Sunday + 39d
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE calc_western_ascension_thu = TRUE
;
-- Whit Monday Pfingstmontag Easter Sunday + 50d
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE calc_western_whit_mon = TRUE
;
-- -- Corpus Christi Fronleichnam Easter Sunday + 60d
-- UPDATE dim_calendar
-- SET hol_de_ni = TRUE
-- WHERE calc_western_corpuschristi_thu = TRUE
-- ;
--
--
-- -- Peace Festival Friedensfest 8 August (3)
-- UPDATE dim_calendar
-- SET hol_de_ni = TRUE
-- WHERE EXTRACT( DAY FROM calendar_date) = 8
-- AND EXTRACT( MONTH FROM calendar_date) = 8
-- ;
--
--
-- -- Assumption Day Mariä Himmelfahrt 15 August
-- UPDATE dim_calendar
-- SET hol_de_ni = TRUE
-- WHERE calc_western_assumption = TRUE
-- ;
-- German Unity Day Tag der Deutschen Einheit 3 October
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 3
AND EXTRACT( MONTH FROM calendar_date) = 10
;
-- -- Reformation Day Reformationstag 31 October
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 31
AND EXTRACT( MONTH FROM calendar_date) = 10
AND EXTRACT( YEAR FROM calendar_date) = 2017
;
--
-- -- All Saints Allerheiligen 1 November Yes Yes Yes Yes Yes
-- UPDATE dim_calendar
-- SET hol_de_ni = TRUE
-- WHERE calc_western_all_saints = TRUE
-- ;
-- Repentance and Prayer Day (4) Buß- und Bettag Second Wednesday before the First Advent (6) Yes
-- it is the Wednesday that falls between 16th and 22nd November
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) BETWEEN 16 AND 22
AND EXTRACT( DOW FROM calendar_date) = 3
AND EXTRACT( MONTH FROM calendar_date) = 11
AND EXTRACT( YEAR FROM calendar_date) <= 1994
;
-- Christmas Day Weihnachtstag 25 December
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 25
AND EXTRACT( MONTH FROM calendar_date) = 12
;
-- St Stephen's Day / Boxing Day Zweiter Weihnachtsfeiertag 26 December
UPDATE dim_calendar
SET hol_de_ni = TRUE
WHERE EXTRACT( DAY FROM calendar_date) = 26
AND EXTRACT( MONTH FROM calendar_date) = 12
;
COMMIT;