簡體   English   中英

如何在兩列數據類型都是日期的 Oracle 中的兩列之間找到分鍾到兩位小數的差異?

[英]How to find difference in minute up to two decimal between two column in Oracle where both column datatype is date?

我想從entry表中的列entryfinishtime中減去列entrystarttime ,以便在 Oracle 數據庫中獲得最多兩位小數的分鍾差異。

兩列的數據類型都是日期。
插入到entry表中的內容的一個示例是

INSERT INTO entry(entrystarttime,entryfinishtime) 
VALUES (TO_DATE('01-feb-2018:10:00:00 AM', 'dd-mon-yyyy:hh:mi:ss am'),
    TO_DATE('01-feb-2018:10:59:30 AM', 'dd-mon-yyyy:hh:mi:ss am');

這是我到目前為止所嘗試的

select  to_date(entryfinishtime, 'dd-mon-yyyy:hh:mi:ss am') - to_date(entrystarttime, 'dd-mon-yyyy:hh:mi:ss am')from entry;

但我得到的只是一排 0。 像這樣

TO_DATE(ENTRYFINISHTIME,'DD-MON-YYYY:HH:MI:SSAM')-TO_DATE(ENTRYSTARTTIME,'DD-MON-YYYY:HH:MI:SSAM')
--------------------------------------------------------------------------------------------------
                                                                                                 0
                                                                                                 0
                                                                                                 0
                                                                                                 0
                                                                                                 0
                                                                                                 0
                                                                                                 0
                                                                                                 0

您的值已經是日期,因此無需再次轉換它們。 要以分鍾為單位獲得差異:

select (entryfinishtime - entrystarttime) * 24 * 60

要將其保留到兩位小數:

select round((entryfinishtime - entrystarttime) * 24 * 60, 2)

是一個 db<>fiddle。

暫無
暫無

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

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