Teradata 时间函数

时间差异(月):select (date '2003-08-15' - date '2003-01-01') month;
时间差异(天):select date '2003-08-15' - date '2003-01-01';
[@more@] 时间差异(秒):select ((time02 / 10000) * 3600 + (time02 / 100 MOD 100) * 60 + (time02 MOD 100)) -
((time01 / 10000) * 3600 + (time01 / 100 MOD 100) * 60 + (time01 MOD 100)) as time_diff
月份操作:select add_months(current_date, 3); 
ADD_MONTHS(Date, -2) 
add_months(date '2002-01-31', 1);
本月第一天:select date - extract(day from date) + 1
上月最后一天:select date '2008-03-03' - extract(day from '2008-03-03')
decemal转成time:select cast(cast(cast(TimeFld as format '99:99:99.99') as char(11)) as time(6)) from DBC.EventLog 
依照当前时间得到timestamp: select cast(current_date as timestamp(2)) + ((current_time - time '00:00:00') hour to second);
上个星期五:select * from sys_calendar.calendar
where day_of_week = 6 --星期五
and calendar_date between date -6 and date; --上个星期
上周的今天:select * from sys_calendar.calendar where calendar_date = date-7

你可能感兴趣的:(Teradata)