请问teradata 中怎么求时间差

0
比如怎么求当前时间和某一时间字段的时间差?可以精确到天,小时,或者秒吗?
已邀请:
2

郑大鹏 2015-09-23 回答

时间差异(月):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数据库 时间函数) 看看
0

GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2015-09-24 回答

要回复问题请先登录注册