db2 数据库查询条件为有时间差的记录

来源:互联网 发布:上海程序员工资一般多少 编辑:程序博客网 时间:2024/05/16 23:07

DB2 提供了一个名为 TIMESTAMPDIFF() 的内置函数。但该函数返回的是近似值,因为它不考虑闰年,而且假设每个月只有 30 天。以下示例描述了如何得到两个日期的近似时差:  

timestampdiff (<n>, char(  
timestamp('2002-11-30-00.00.00')-  
timestamp('2002-11-08-00.00.00')))  

对于 <n>,可以使用以下各值来替代,以指出结果的时间单位:  

1 = 秒的小数部分   
2 = 秒   
4 = 分   
8 = 时   
16 = 天   
32 = 周   
64 = 月   
128 = 季度   
256 = 年   
当日期很接近时使用 timestampdiff() 比日期相差很大时精确。如果需要进行更精确的计算,可以使用以下方法来确定时差(按秒计)




db2 "select source,login_at,logout_at from rts.offline where logout_at>='2013-08-01 00:00:00' and logout_at<'2013-08-14 23:59:59' andtimestampdiff(4,char(timestamp(logout_at)-timestamp(login_at)))>=480"