将十进制 DAYS 转换为 TIME 格式

use*_*995 5 sql oracle format time hour

你好,我是 sql 的新手,我需要你的帮助。

我有下表:

    start_date      |     end_date          
02.08.2012 09:27:19 |  06.08.2012 07:53:00  
06.08.2012 06:58:58 |  06.08.2012 13:42:33
05.06.2012 14:35:58 |  05.06.2012 14:42:31
Run Code Online (Sandbox Code Playgroud)

我需要显示 start_date 和 end_date 之间的持续时间。

我是这样做的:end_date - start_date = duration
但它显示一个十进制值(见下表 - 字段持续时间)。

我需要像这样显示字段持续时间:HH:MM:SS - 不是十进制。

    start_date      |     end_date         |         duration        | I need it like this
02.08.2012 09:27:19 |  06.08.2012 07:53:00 | --> 3.93450231481481    |    94:25:41
06.08.2012 06:58:58 |  06.08.2012 13:42:33 | --> 0.280266203703704   |    06:43:35
05.06.2012 14:35:58 |  05.06.2012 14:42:31 | --> 0.0045486111111...  |    00:06:33
Run Code Online (Sandbox Code Playgroud)

如果有什么不确定的,我会尝试解释。我希望你能帮助我。祝你今天过得愉快。

spa*_*kus 0

我认为你需要使用内置的 oracle 函数。尝试使用 Date SUB,如此处所示 Oracle Docs / MySQL

这将允许您设置返回时间的精度。