Sql 如何在知道开始日期和结束日期的情况下,在主键上查找机器空闲的总时间?

Sql 如何在知道开始日期和结束日期的情况下,在主键上查找机器空闲的总时间?,sql,database,oracle,Sql,Database,Oracle,如何在知道开始日期和结束日期的情况下,在主键上查找机器空闲的总时间 这是一个好结果 DEVICE_ID FIRST_DATE SECOND_DATE DURATION 237017, "2014-04-21 18:34:19.0", "2014-04-21 18:27:28.0", "0 Clock 6 Min 51 Sec " 237017, "2014-04-21 18:51:36.0", "2014-04-21 18:34:19.0"

如何在知道开始日期和结束日期的情况下,在主键上查找机器空闲的总时间

这是一个好结果

DEVICE_ID FIRST_DATE              SECOND_DATE              DURATION
237017,  "2014-04-21 18:34:19.0", "2014-04-21 18:27:28.0", "0 Clock 6 Min 51 Sec "
237017,  "2014-04-21 18:51:36.0", "2014-04-21 18:34:19.0", "0 Clock 17 Min 16 Sec "
237017,  "2014-04-21 18:53:52.0", "2014-04-21 18:51:36.0", "0 Clock 2 Min 16 Sec "
237017,  "2014-04-22 12:20:16.0", "2014-04-21 18:53:52.0", "17 Clock 26 Min 24 Sec "
237017,  "2014-04-22 14:41:28.0", "2014-04-22 12:20:16.0", "2 Clock 21 Min 12 Sec "
237031,  "2014-04-08 16:20:12.0", "2014-04-08 16:19:11.0", "0 Clock 1 Min 1 Sec "
这将提供时间戳格式的差异。然后,您可以使用提取方法将其转换为天/小时/分钟等,如下链接所示:


如何定义空闲?是否将日期(时间戳)和持续时间存储为字符串?什么构成空闲-那些范围,或者那些范围之外的任何东西;如果是后者,您的开始/结束日期是否超出任何范围?到目前为止你有什么?我怎么知道持续时间格式?日期格式时间戳考虑创建SQLFIDDLHOW如何在unix格式中查找持续时间时间戳?第二天-第一天
select  id, TO_TIMESTAMP (SECOND_DATE, 'YYYY-MM-DD HH24:MI:SS.FF') - TO_TIMESTAMP (FIRST_DATE, 'YYYY-MM-DD HH24:MI:SS.FF') tdiff from t;