一尘不染

如何从DB2中的两个时间戳中获得差异?

sql

我有一个要求,我必须以小时为单位获得两个时间戳记的时差,然后才求出小时数的平均值。

我正在使用下面的查询来查找两个时间戳的差异,但它没有给出确切的结果,而是给出了近似的结果。我们还有其他解决方案吗?我的两个时间戳为(LAST_MODIFIED_DATETIME-2016-11-30
15:39:01.131 CREATE_DATETIME-2016-07-01 17:25:52.375)

select timestampdiff(8, char(LAST_MODIFIED_DATETIME-CREATE_DATETIME)) as total_time from test_table where name='some name';

阅读 190

收藏
2021-05-05

共1个答案

一尘不染

通过将时间戳转换为小时,很容易,如下所示:

(24*DAYS(last_modified_datetime)+MIDNIGHT_SECONDS(last_modified_datetime)/3600)
-
(24*DAYS(create_datetime)+MIDNIGHT_SECONDS(create_datetime)/3600)
2021-05-05