簡體   English   中英

Oracle中的小數日差

[英]Fractional day difference in Oracle

我有一個包含2列的表格, EXECUTION_TIMESTAMPEFFECTIVE_DATE作為日期。

我希望將兩列之間的差異表示為小數天。 例如1.5天。

以下是唯一的方法嗎? 當然必須有更好的方法嗎?

select EXECUTION_TIMESTAMP - EFFECTIVE_DATE,
       extract(day from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))
        +(extract(hour from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE)))/24
        +extract(minute from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))/1400
        +extract(second from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))/86400
 from a_table

嘗試僅減去兩個值,例如

SELECT sysdate - (sysdate -dbms_random.value(1,10)) FROM dual;

看一下這個例子:

SELECT ROUND(to_date('02/26/2014 05:00:15 PM','MM/DD/YYYY HH:MI:SS AM') - 
             to_date('02/25/2014 06:00:15 AM','MM/DD/YYYY HH:MI:SS AM'),1) Days
FROM DUAL;

它將給出輸出1.5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM