Date arithmetics

From SQLZoo
Jump to navigation Jump to search

Group by day of the week (using arithmetic).


We can use modular arithmetic to calculate the day of the week.

We happen to know that 20 May 1962 was a Sunday. We calculate the number of days from that day and take mod 7 value. This tells us the day of the week: 0 is Sunday, 1 is Monday...

SELECT MOD(wk - TO_DATE('1962-05-20','YYYY-MM-DD'),7),
  FROM gisq.totp
GROUP BY MOD(wk - TO_DATE('1962-05-20','YYYY-MM-DD'),7)