[英]Inserting a new attribute in to a column of a table calculated from difference in minute between two column in 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.