我有一个表a包含(名称,年份,日期,时间)和表B包含(UserID, Time_written)..
我不知道如何构建一个查询,将选择和输出行从表a,位于正负三十秒的每一行在表..
我不确定db2中的日期操作符,但诀窍是在
上连接A.time < dateadd(B.time, 30 seconds) AND A.time > dateadd(B.time, -30 seconds)
在SQL Server上,我会写
select A.* from A inner join B on
A.time < DATEADD("s", 30, B.time) AND
A.time > DATEADD("s", -30, B.time)
@Albin很接近,但是DB2没有DATEADD()
函数,它使用ANSI日期数学:
SELECT a.*
FROM tabA a
JOIN tabB b
ON a.time BETWEEN (b.time - 30 SECOND) AND (b.time + 30 SECOND)
(假设time
是TIMESTAMP
字段)