【问题标题】:teradata : calculating diffreence between 2 timeintervalsteradata:计算2个时间间隔之间的差异
【发布时间】:2012-09-18 20:21:54
【问题描述】:

我想计算两个时间间隔之间的时间差,如代码所示

replace procedure database.table()               
begin  
declare v_StartTime Timestamp;  
decalre v_EndTime Timestamp;        
decalre v_TimeTaken Varchar(20);         

set v_StartTime = current_timestamp;       
/* set of queries...........          
...................                
.....................             

*/       
set v_EndTime =current_timestamp;

set v_timeTaken = v_EndTime - v_StartTime ;

/* I want the time difference in secs or mins*/

End;

还有其他更好的方法来获取以分钟或秒为单位的时间间隔

【问题讨论】:

    标签: sql stored-procedures teradata


    【解决方案1】:

    这应该以秒为单位获得您的经过时间。

    set v_TimeTaken = 
       (EXTRACT(DAY    FROM (v_EndTime - v_StartTime DAY(4) TO SECOND)) * 86400)
     + (EXTRACT(HOUR   FROM (v_EndTime - v_StartTime DAY(4) TO SECOND)) * 3600)
     + (EXTRACT(MINUTE FROM (v_EndTime - v_StartTime DAY(4) TO SECOND)) * 60)
     +  EXTRACT(SECOND FROM (v_EndTime - v_StartTime DAY(4) TO SECOND)) 
    

    Teradata 中的时间戳算术始终是我必须查找的内容。这不是我经常做的事情,它不像甲骨文的方法那样直观。

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 2015-03-14
      • 2012-06-04
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      相关资源
      最近更新 更多