需要帮助。 我有两个时间戳列,所以基本上我想获得最大值和最小值,其中thirD列显示为timedifference。我正在跳过任何12.am时间,所以使用下面的语法。 ANy帮助如何实现第三列,timedifference ..它在DB2中。
SELECT EMPID,MIN(STARTDATETIME),MAX(ENDDATETIME)
FROM TABLE
WHERE DATE(STARTDATETIME)= '2012-05-15' AND HOUR(STARTDATETIME)<>0 AND HOUR(ENDDATETIME)<>0
GROUP BY EMPID
答案 0 :(得分:2)
您可以使用内部选择中的结果,并使用这些值来定义TimeDifference
列。我对DB2的了解非常有限,所以我做了一些假设,但这应该给你一个想法。如果出现严重错误,我会更新答案。
Select EmpId,
MinStartDate,
MaxEndDate,
MaxEndDate - MinStartDate As TimeDifference
From
(
Select EMPID,
MIN(STARTDATETIME) As MinStartDate,
MAX(ENDDATETIME) As MaxEndDate
From Table
Where DATE(STARTDATETIME) = '2012-05-15'
And HOUR(STARTDATETIME) <> 0
And HOUR(ENDDATETIME) <> 0
Group By EMPID
) A