我将如何编写一个表达式,以天、小时、分钟、秒等为单位给出两个日期之间的差异?默认情况下,在 oracle 中减去两个日期以小数形式返回天数。
最佳答案
使用:
SELECT TO_CHAR(date1,'MMDDYYYY:HH24:MI:SS') date1,
TO_CHAR(date2,'MMDDYYYY:HH24:MI:SS') date2,
TRUNC(86400*(date2-date1)) - 60*(TRUNC((86400*(date2-date1))/60)) seconds,
TRUNC((86400*(date2-date1))/60) - 60*(TRUNC(((86400*(date2-date1))/60)/60)) minutes,
TRUNC(((86400*(date2-date1))/60)/60) - 24*(TRUNC((((86400*(date2-date1))/60)/60)/24)) hours,
TRUNC((((86400*(date2-date1))/60)/60)/24) days,
TRUNC(((((86400*(date2-date1))/60)/60)/24)/7) weeks
FROM TABLE
关于sql - Oracle 日期减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506276/