时间戳之间的差异是15分钟

时间:2012-07-18 23:44:41

标签: sql timestamp hive

这是CREATED_TIME 2012-07-17 00:00:22,这是对应的时间戳1342508427000。此处的时间戳比5 secondsCREATED_TIME。我需要看下面的情景

目前我有一个查询,我正在加入created_time和timestamp,就像这样 -

ON (UNIX_TIMESTAMP(testingtable1.created_time) = (prod_and_ts.timestamps / 1000))

因此在上面的情况下,它将不匹配,因为时间戳比created_time多5秒。但我需要,如果两者之间的差异在15分钟内,那么我需要匹配它。

所以我写了下面的JOIN查询 - 我不确定这是否是正确的做法?

ON ((UNIX_TIMESTAMP(testingtable1.created_time) - (prod_and_ts.timestamps / 1000)) / 60* 1000 <= 15)

如果时间戳之间的差异在15分钟之内,那么我如何能够完成上述情况,那么数据将与上述ON clause匹配

1 个答案:

答案 0 :(得分:2)

我更喜欢(专为此目的设计!)date and time functions而不是使用时间戳进行这些类型的计算。你不会相信这会造成多大的麻烦。请务必阅读并理解thisthis