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

Posted

技术标签:

【中文标题】如何从 DB2 中的两个时间戳中获取差异?【英文标题】:How to get difference from two timestamp in DB2? 【发布时间】:2016-11-30 17:31:04 【问题描述】:

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

我正在使用下面的查询来查找两个时间戳的差异,但它没有给出确切的结果,它给出了近似结果。我们有没有其他解决方案来实现同样的目标。我的两个时间戳是(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';

【问题讨论】:

是的,timestampdiff 大约是 @Hogan - 我们还有其他解决方案可以达到同样的效果吗 当然...在两者上使用 JULIAN_DAY() 来查找天数差异,然后调整两个时间戳中的小时差异 你读过***.com/questions/7677529/…的条目吗? 【参考方案1】:

使用内置 Db2 函数HOURS_BETWEEN()

https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061478.html

【讨论】:

【参考方案2】:

这很简单,只需将时间戳转换为小时,如下所示:

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

【讨论】:

以上是关于如何从 DB2 中的两个时间戳中获取差异?的主要内容,如果未能解决你的问题,请参考以下文章

从时间戳中提取时间?

如何从java中的字符串时间戳中提取日期和时间

如何通过时间戳排序从时间戳中获取月份和年份的唯一记录

无法从 BigQuery 中的时间戳中提取日期

如何使用 pyspark 从 aws 胶水的时间戳中提取年份

如何从Django中的时间戳中仅提取一天