Sin
Sin

Reputation: 161

GCP BigQuery Calendar Table - Corresponding day last year

I am building a Calendar Table in Biquery. How can I get Corresponding date last year based on the calendar date considering leap year as well as I am building the calendar from 2010 to 2050

My SQL so far

SELECT
  date,
  FORMAT_DATE("%A", date) as day_of_week,
  EXTRACT(DAY FROM date) as the_day,
  EXTRACT(MONTH FROM date) as the_month,
  EXTRACT(YEAR FROM date) AS year,
  FORMAT_DATE("%b", date) as month_name,
  FORMAT_DATE("%B", date) as month_name_full,
  EXTRACT(WEEK FROM date) AS week,
 FORMAT_DATE("%d-%m-%E4Y", date) as Date_DDMMYYYY,
 FORMAT_DATE("%Y%m", date) as Date_YYYYMM,
 FORMAT_DATE("%Y-%m", date) as Date_YYYY_MM,
 FORMAT_DATE("%m-%Y", date) as Date_MM_YYYY,
 EXTRACT(month from date_add(date, interval 6 month)) as fiscal_month,
 EXTRACT(year from date_add(date, interval 6 month)) as fiscal_year,
 EXTRACT(YEAR FROM date)+1 as Year_Offset_PLUS_1,
 EXTRACT(YEAR FROM date)-1 as Year_Offset_MINUS_1,


 FROM UNNEST(GENERATE_DATE_ARRAY('2010-01-01', '2050-12-31')) AS Date
ORDER BY date;

Output:

enter image description here

Upvotes: 0

Views: 473

Answers (1)

Mikhail Berlyant
Mikhail Berlyant

Reputation: 172994

SELECT DATE_SUB(date, INTERVAL 52 WEEK)

Upvotes: 1

Related Questions