如何在oracle中减去2个日期以获得小时和分钟的结果

Mac*_*cky 9 sql oracle date-arithmetic

我想减去2个日期,并以小时数表示小时和分钟的结果.

我有下表,我这样做,但结果并不理想.

有一些细微的变化,我确信这是简单的算术,但我没有做对.

select start_time, end_time, (end_time-start_time)*24 from 
come_leav;    
Run Code Online (Sandbox Code Playgroud)

START_TIME          END_TIME            (END_TIME-START_TIME)*24    
------------------- ------------------- ------------------------      
21-06-2011 14:00:00 21-06-2011 16:55:00  2.9166667      
21-06-2011 07:00:00 21-06-2011 16:50:00  9.8333333      
21-06-2011 07:20:00 21-06-2011 16:30:00  9.1666667      

我想要结果(end_time-start_time)如下.

16:55- 14:00 = 2.55      
16:50-07:00 = 9.5      
16:30-7:20 = 9.1 and so on.    

我怎样才能做到这一点?

Kev*_*ton 0

尝试这个:

    SELECT
    TRIM(TO_CHAR(TRUNC(((86400*(end_time - start_time))/60)/60)-24*(trunc((((86400*(end_time - start_time))/60)/60)/24)),'00')) ||'.'||
    TRIM(TO_CHAR(TRUNC((86400*(end_time - start_time))/60)-60*(trunc(((86400*(end_time - start_time))/60)/60)),'00')) ||'.'  as duration
FROM come_leav;
Run Code Online (Sandbox Code Playgroud)