如何从 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 中的两个时间戳中获取差异?的主要内容,如果未能解决你的问题,请参考以下文章