Professional Documents
Culture Documents
// 2001
(20010101,'New Year''s Day'), (20010102,'Day after New Year''s Day'),
(20010206,'Waitangi Day'), (20010413,'Good Friday'), (20010416,'Easter Monday'),
(20010425,'ANZAC Day'),
(20010604,'Queen''s Birthday'), (20011022,'Labour Day'), (20011225,'Christmas
Day'), (20011226,'Boxing Day'),
// 2002
(20020101,'New Year''s Day'), (20020102,'Day after New Year''s Day'),
(20020206,'Waitangi Day'), (20020329,'Good Friday'), (20020401,'Easter Monday'),
(20020425,'ANZAC Day'),
(20020603,'Queen''s Birthday'), (20021028,'Labour Day'), (20021225,'Christmas
Day'), (20021226,'Boxing Day'),
// 2003
(20030101,'New Year''s Day'), (20030102,'Day after New Year''s Day'),
(20030206,'Waitangi Day'), (20030418,'Good Friday'), (20030421,'Easter Monday'),
(20030425,'ANZAC Day'),
(20030602,'Queen''s Birthday'), (20031027,'Labour Day'), (20031225,'Christmas
Day'), (20031226,'Boxing Day'),
// 2004
(20040101,'New Year''s Day'), (20040102,'Day after New Year''s Day'),
(20040206,'Waitangi Day'), (20040409,'Good Friday'), (20040412,'Easter Monday'),
(20040425,'ANZAC Day'),
(20040607,'Queen''s Birthday'), (20041025,'Labour Day'), (20041227,'Christmas
Day'), (20041228,'Boxing Day'),
// 2005
(20050103,'New Year''s Day'), (20050104,'Day after New Year''s Day'),
(20050206,'Waitangi Day'), (20050325,'Good Friday'), (20050328,'Easter Monday'),
(20050425,'ANZAC Day'),
(20050606,'Queen''s Birthday'), (20051024,'Labour Day'), (20051226,'Christmas
Day'), (20051227,'Boxing Day'),
// 2006
(20060102,'New Year''s Day'), (20060103,'Day after New Year''s Day'),
(20060206,'Waitangi Day'), (20060414,'Good Friday'), (20060417,'Easter Monday'),
(20060425,'ANZAC Day'),
(20060605,'Queen''s Birthday'), (20061023,'Labour Day'), (20061225,'Christmas
Day'), (20061226,'Boxing Day'),
// 2007
(20070101,'New Year''s Day'), (20070102,'Day after New Year''s Day'),
(20070206,'Waitangi Day'), (20000406,'Good Friday'), (20070409,'Easter Monday'),
(20070425,'ANZAC Day'),
(20070604,'Queen''s Birthday'), (20071022,'Labour Day'), (20071225,'Christmas
Day'), (20071226,'Boxing Day'),
// 2008
(20080101,'New Year''s Day'), (20080102,'Day after New Year''s Day'),
(20080206,'Waitangi Day'), (20080321,'Good Friday'), (20080324,'Easter Monday'),
(20080425,'ANZAC Day'),
(20080602,'Queen''s Birthday'), (20081027,'Labour Day'), (20081225,'Christmas
Day'), (20081226,'Boxing Day'),
// 2009
(20090101,'New Year''s Day'), (20090102,'Day after New Year''s Day'),
(20090206,'Waitangi Day'), (20090410,'Good Friday'), (20090413,'Easter Monday'),
(20090425,'ANZAC Day'),
(20090601,'Queen''s Birthday'), (20091026,'Labour Day'), (20091225,'Christmas
Day'), (20091228,'Boxing Day'),
// 2010
(20100101,'New Year''s Day'), (20100104,'Day after New Year''s Day'),
(20100206,'Waitangi Day'), (20100402,'Good Friday'), (20100405,'Easter Monday'),
(20100425,'ANZAC Day'),
(20100607,'Queen''s Birthday'), (20101025,'Labour Day'), (20101227,'Christmas
Day'), (20101228,'Boxing Day'),
// 2011
(20110103,'New Year''s Day'), (20110104,'Day after New Year''s Day'),
(20110206,'Waitangi Day'), (20110422,'Good Friday'), (20110425,'Easter Monday /
ANZAC Day'),
(20110606,'Queen''s Birthday'), (20111024,'Labour Day'), (20111226,'Christmas
Day'), (20111227,'Boxing Day'),
// 2012
(20120102,'New Year''s Day'), (20120103,'Day after New Year''s Day'),
(20120206,'Waitangi Day'), (20120406,'Good Friday'), (20120409,'Easter Monday'),
(20120425,'ANZAC Day'),
(20120604,'Queen''s Birthday'), (20121022,'Labour Day'), (20121225,'Christmas
Day'), (20121226,'Boxing Day'),
// 2013
(20130101,'New Year''s Day'), (20130102,'Day after New Year''s Day'),
(20130206,'Waitangi Day'), (20130329,'Good Friday'), (20130401,'Easter Monday'),
(20130425,'ANZAC Day'),
(20130603,'Queen''s Birthday'), (20131028,'Labour Day'), (20131225,'Christmas
Day'), (20131226,'Boxing Day'),
// 2014
(20140101,'New Year''s Day'), (20140102,'Day after New Year''s Day'),
(20140206,'Waitangi Day'), (20140418,'Good Friday'), (20140421,'Easter Monday'),
(20140425,'ANZAC Day'),
(20140602,'Queen''s Birthday'), (20141027,'Labour Day'), (20141225,'Christmas
Day'), (20141226,'Boxing Day'),
// 2015
(20150101,'New Year''s Day'), (20150102,'Day after New Year''s Day'),
(20150206,'Waitangi Day'), (20150403,'Good Friday'), (20150406,'Easter Monday'),
(20150427,'ANZAC Day'),
(20150601,'Queen''s Birthday'), (20151026,'Labour Day'), (20151225,'Christmas
Day'), (20151228,'Boxing Day'),
// 2016
(20160101,'New Year''s Day'), (20160104,'Day after New Year''s Day'),
(20160208,'Waitangi Day'), (20160325,'Good Friday'), (20160328,'Easter Monday'),
(20160425,'ANZAC Day'),
(20160606,'Queen''s Birthday'), (20161024,'Labour Day'), (20161226,'Christmas
Day'), (20161227,'Boxing Day'),
// 2017
(20170102,'New Year''s Day'), (20170103,'Day after New Year''s Day'),
(20170206,'Waitangi Day'), (20170414,'Good Friday'), (20170417,'Easter Monday'),
(20170425,'ANZAC Day'),
(20170605,'Queen''s Birthday'), (20171023,'Labour Day'), (20171225,'Christmas
Day'), (20171226,'Boxing Day'),
// 2018
(20180101,'New Year''s Day'), (20180102,'Day after New Year''s Day'),
(20180206,'Waitangi Day'), (20180330,'Good Friday'), (20180402,'Easter Monday'),
(20180425,'ANZAC Day'),
(20180604,'Queen''s Birthday'), (20181022,'Labour Day'), (20181225,'Christmas
Day'), (20181226,'Boxing Day'),
// 2019
(20190101,'New Year''s Day'), (20190102,'Day after New Year''s Day'),
(20190206,'Waitangi Day'), (20190419,'Good Friday'), (20190422,'Easter Monday'),
(20190425,'ANZAC Day'),
(20190603,'Queen''s Birthday'), (20191028,'Labour Day'), (20191225,'Christmas
Day'), (20191226,'Boxing Day'),
// 2020
(20200101,'New Year''s Day'), (20200102,'Day after New Year''s Day'),
(20200206,'Waitangi Day'), (20200410,'Good Friday'), (20200413,'Easter Monday'),
(20200427,'ANZAC Day'),
(20200601,'Queen''s Birthday'), (20201026,'Labour Day'), (20201225,'Christmas
Day'), (20201228,'Boxing Day'),
// 2021
(20210101,'New Year''s Day'), (20210104,'Day after New Year''s Day'),
(20210208,'Waitangi Day'), (20210402,'Good Friday'), (20210405,'Easter Monday'),
(20210426,'ANZAC Day'),
(20210607,'Queen''s Birthday'), (20211025,'Labour Day'), (20211227,'Christmas
Day'), (20211228,'Boxing Day'),
// 2022
(20220103,'New Year''s Day'), (20220104,'Day after New Year''s Day'),
(20220207,'Waitangi Day'), (20220415,'Good Friday'), (20220418,'Easter Monday'),
(20220425,'ANZAC Day'),
(20220606,'Queen''s Birthday'), (20221024,'Labour Day'), (20221226,'Christmas
Day'), (20221227,'Boxing Day'),
// 2023
(20230102,'New Year''s Day'), (20230103,'Day after New Year''s Day'),
(20230206,'Waitangi Day'), (20230407,'Good Friday'), (20230410,'Easter Monday'),
(20230425,'ANZAC Day'),
(20230605,'Queen''s Birthday'), (20231023,'Labour Day'), (20231225,'Christmas
Day'), (20231226,'Boxing Day'),
// 2024
(20240101,'New Year''s Day'), (20240102,'Day after New Year''s Day'),
(20240206,'Waitangi Day'), (20240329,'Good Friday'), (20240401,'Easter Monday'),
(20240425,'ANZAC Day'),
(20240603,'Queen''s Birthday'), (20241028,'Labour Day'), (20241225,'Christmas
Day'), (20241226,'Boxing Day'),
// 2025
(20250101,'New Year''s Day'), (20250102,'Day after New Year''s Day'),
(20250206,'Waitangi Day'), (20250418,'Good Friday'), (20250421,'Easter Monday'),
(20250425,'ANZAC Day'),
(20250602,'Queen''s Birthday'), (20251027,'Labour Day'), (20251225,'Christmas
Day'), (20251226,'Boxing Day'),
// 2026
(20260101,'New Year''s Day'), (20260102,'Day after New Year''s Day'),
(20260206,'Waitangi Day'), (20260403,'Good Friday'), (20260406,'Easter Monday'),
(20260427,'ANZAC Day'),
(20260601,'Queen''s Birthday'), (20261026,'Labour Day'), (20261225,'Christmas
Day'), (20261228,'Boxing Day'),
// 2027
(20270101,'New Year''s Day'), (20270104,'Day after New Year''s Day'),
(20270208,'Waitangi Day'), (20270326,'Good Friday'), (20270329,'Easter Monday'),
(20270426,'ANZAC Day'),
(20270607,'Queen''s Birthday'), (20271025,'Labour Day'), (20271227,'Christmas
Day'), (20271228,'Boxing Day'),
// 2028
(20280103,'New Year''s Day'), (20280104,'Day after New Year''s Day'),
(20280207,'Waitangi Day'), (20280414,'Good Friday'), (20280417,'Easter Monday'),
(20280425,'ANZAC Day'),
(20280605,'Queen''s Birthday'), (20281023,'Labour Day'), (20281225,'Christmas
Day'), (20281226,'Boxing Day'),
// 2029
(20290101,'New Year''s Day'), (20290102,'Day after New Year''s Day'),
(20290206,'Waitangi Day'), (20290330,'Good Friday'), (20290402,'Easter Monday'),
(20290425,'ANZAC Day'),
(20290604,'Queen''s Birthday'), (20291022,'Labour Day'), (20291225,'Christmas
Day'), (20291226,'Boxing Day'),
// 2030
(20300101,'New Year''s Day'), (20300102,'Day after New Year''s Day'),
(20300206,'Waitangi Day'), (20300419,'Good Friday'), (20300422,'Easter Monday'),
(20300425,'ANZAC Day'),
(20300603,'Queen''s Birthday'), (20301028,'Labour Day'), (20301225,'Christmas
Day'), (20301226,'Boxing Day');
WITH DATE_RANGE AS (
//Generates the date records per number of days required
// note: used row_number to enforce producing gap free result of the sequence
and the dateadd just to make sure the start_date is included in the resultset
select DATEADD(DAY,(row_number() over (order by seq4()) -1),$START_DATE) AS
START_DATE
from table(generator(rowcount => $NUMBER_DAYS))
)
SELECT
TO_CHAR(START_DATE,'YYYYMMDD') AS DATE_KEY
,TO_CHAR(START_DATE,'YYYY-MM-DD') AS
CALENDAR_DATE
,TO_CHAR(START_DATE,'DD-MON-YY') AS
CALENDAR_DATE_STR
,TO_CHAR(START_DATE,'DD/MM/YYYY') AS
CALENDAR_DATE_ALT
,YEAR(START_DATE) AS
CALENDAR_YEAR
,'CY '||YEAR(START_DATE) AS
CALENDAR_YEAR_DESC
,QUARTER(START_DATE) AS
CALENDAR_QUARTER
,'QTR '||QUARTER(START_DATE) AS
CALENDAR_QUARTER_DESC
,YEAR(START_DATE)||QUARTER(START_DATE) AS
CALENDAR_QUARTER_YEAR
,MONTH(START_DATE) AS
MONTH_NO_OF_YEAR
,YEAR(START_DATE)||LPAD(MONTH(START_DATE),2,'0') AS MONTH_YEAR
,TO_CHAR(START_DATE,'MMMM') AS MONTH_NAME
,TO_CHAR(START_DATE,'MON-YY') AS
MONTH_YEAR_DESC
,TO_CHAR(START_DATE,'MON-YY') AS
MONTH_YEAR_ALT
,DAYOFMONTH(START_DATE) AS
DAY_NO_OF_MONTH
,DAYOFMONTH(LAST_DAY(START_DATE,'month')) AS
NO_OF_DAYS_IN_MONTH
,DAYOFYEAR(START_DATE) AS
DAY_NO_OF_YEAR
,WEEKOFYEAR(START_DATE) AS WEEK_NO_YEAR
,YEAR(START_DATE)||LPAD(WEEKOFYEAR(START_DATE),2,'0') AS WEEK_YEAR
,WEEKISO(START_DATE) AS
ISO_WEEK_NO_OF_YEAR
,YEAR(START_DATE)||LPAD(WEEKISO(START_DATE),2,'0') AS
ISO_WEEK_YEAR
,DAYOFWEEK(START_DATE) AS WEEK_DAY
,DECODE(DAYNAME(START_DATE),
'Mon','Monday','Tue','Tuesday',
'Wed','Wednesday','Thu','Thursday',
'Fri','Friday','Sat','Saturday',
'Sun','Sunday') AS
WEEK_DAY_NAME
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_YEAR
,'FY '||YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_YEAR_DESC
,QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_QUARTER
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9))||
QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_QUARTER_YEAR
,'QTR '||QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_QUARTER_DESC
,MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_MONTH
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9))||
LPAD(MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)),2,'0') AS
NZ_FISCAL_MONTH_YEAR
,'Month '||MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),9)) AS
NZ_FISCAL_MONTH_DESC
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_YEAR
,'FY '||YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_YEAR_DESC
,QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_QUARTER
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6))||
QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_QUARTER_YEAR
,'QTR '||QUARTER(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_QUARTER_DESC
,MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_MONTH
,YEAR(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6))||
LPAD(MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)),2,'0') AS
AU_FISCAL_MONTH_YEAR
,'Month '||MONTH(ADD_MONTHS(DATE_TRUNC('month',START_DATE),6)) AS
AU_FISCAL_MONTH_DESC
,IFF(DAYOFWEEK(START_DATE) between 1 and 5,1,0) AS
IS_WEEK_DAY_FLAG
,IFF(DAYOFWEEK(START_DATE) between 1 and 5,'Weekday','Weekend') AS
IS_WEEK_DAY_DESC
,IFF(NZPH.Description is NULL,0,1) AS
IS_NZ_PUBLIC_HOLIDAY_FLAG
,IFF(NZPH.Description is NULL,'Non Holiday','Holiday') AS
IS_NZ_PUBLIC_HOLIDAY_DESC
,IFF(NZPH.Description is NULL,'N/A',NZPH.Description) AS
NZ_PUBLIC_HOLIDAY_FULL_DESC
,IFF(AUPH.Description is NULL,0,1) AS
IS_AU_PUBLIC_HOLIDAY_FLAG
,IFF(AUPH.Description is NULL,'Non Holiday','Holiday') AS
IS_AU_PUBLIC_HOLIDAY_DESC
,IFF(AUPH.Description is NULL,'N/A',AUPH.Description) AS
AU_PUBLIC_HOLIDAY_FULL_DESC
,DATEDIFF('year',CURRENT_DATE(),START_DATE) AS CURRENT_YEAR
,DATEDIFF('month',CURRENT_DATE(),START_DATE) AS
CURRENT_MONTH
,DATEDIFF('day',CURRENT_DATE(),START_DATE) AS CURRENT_DAY
FROM DATE_RANGE DG
LEFT JOIN NZPUBLIC_HOLIDAYS NZPH ON TO_CHAR(START_DATE,'YYYYMMDD')
=NZPH.DATE_KEY
LEFT JOIN AUPUBLIC_HOLIDAYS AUPH ON TO_CHAR(START_DATE,'YYYYMMDD')
=AUPH.DATE_KEY
;
// Testing Holidays
// WHERE 1=1
// AND IFF(NZPH.Description is NULL,0,1)=1
// OR IFF(AUPH.Description is NULL,0,1)=1
// ORDER BY 1;