![]() |
|
Archives of the TeradataForumMessage Posted: Wed, 01 Sep 2004 @ 14:19:24 GMT
Hi, You could try this for size. Maybe you would be better off creating a table and using the SQL below (or perhaps, someone else has a better method). Then your queries would be simpler, stats collected and then may perform better. Good luck Frank
select
calendar_date
, extract(year from calendar_date) (named yr_of_calendar)
, (calendar_date - ('1900-01-01' (date))) mod 7 + 1 (named day_of_wk)
, extract(day from calendar_date) (named day_of_month)
, extract(month from calendar_date) (named month_of_year)
, case when month_of_year between 1 and 3 then 1
when month_of_year between 4 and 6 then 2
when month_of_year between 7 and 9 then 3
when month_of_year between 10 and 12 then 4
end (named quarter_of_year)
, day_of_year (named day_of_year)
, csum(case when day_of_wk = 1 then 1 else 0 end, calendar_date)
(named week_of_yr)
from sys_calendar.calendar c
where year_of_calendar in ( 2003, 2004, 2005)
group by yr_of_calendar;
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||