
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Redshift SQL Date functions derived as like Qlik Date functions
SentEmail:
LOAD * ;
SQL
SELECT
sent_email_datetime,
DATE_PART('month',sent_email_datetime) AS month,
DATE_PART('year',sent_email_datetime) AS year,
TRUNC(DATE_TRUNC('month',sent_email_datetime)) AS month_start_date,
LAST_DAY(sent_email_datetime) AS month_end_date,
CASE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 1 AND 3 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/01/01')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 4 AND 6 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/04/01')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 7 AND 9 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/07/01')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 10 AND 12 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/10/01')::DATE
END AS quarter_start_date,
CASE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 1 AND 3 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/03/31')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 4 AND 6 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/06/30')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 7 AND 9 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/09/30')::DATE
WHEN DATE_PART('month',sent_email_datetime) BETWEEN 10 AND 12 THEN CONCAT(DATE_PART('year',sent_email_datetime)::VARCHAR,'/12/31')::DATE
END AS quarter_end_date,
CASE
WHEN DATE_PART('month',sent_email_datetime)=1 THEN CONCAT(DATE_PART('year',sent_email_datetime)::varchar,'/01/01')::Date
ELSE CONCAT(DATE_PART('year',sent_email_datetime)::varchar,'/01/01')::Date
END AS year_start_date,
CASE
WHEN DATE_PART('month',sent_email_datetime)=1 THEN CONCAT(DATE_PART('year',sent_email_datetime)::varchar,'/12/31')::Date
ELSE CONCAT(DATE_PART('year',sent_email_datetime)::varchar,'/12/31')::Date
END AS year_end_date
FROM "$(vConnectionPath)"."gcdw_rpt"."content_effectiveness_sent_email_vw"
LIMIT 10000
;
