核算兩個時間之間時長
阿新 • • 發佈:2020-11-18
一、需求:需要核算固定日期到當前日期之間的相隔時長;或者需要核算兩個日期期間的相隔時長。
二、Oracle語法如下:
select--這個是核算的,核算20200927到當前日期相隔時長,設定固定日期為20200927-- floor(months_between(sysdate, to_date(substr('20200927', 0, 8), 'YYYYMMDD'))) || '個月' || case when (to_char(sysdate, 'dd') - to_char(to_date(substr('20200927', 0, 8), 'YYYYMMDD'), 'dd') >= 0) then (to_char(sysdate, 'dd') - to_char(to_date(substr('20200927', 0, 8), 'YYYYMMDD'), 'dd')) ELSE to_char(last_day(to_date(substr('20200927', 0, 8), 'YYYYMMDD')), 'dd') - to_char(to_date(substr('20200927', 0, 8), 'YYYYMMDD'), 'dd') + to_char(sysdate, 'dd') END || '天' as date2 from dual
三、總結:
1)、核算中的日期如有差異,相應的轉換即可
2)、函式說明:months_between 函式可參考:【獲取兩個日期之間相隔多少個月】
https://www.cnblogs.com/pumushan/p/6655204.html
last_day 函式:【獲取指定日期對應月份的最後一天】
好記性,不如爛筆頭!學到東西,記錄下來吧。
原創:如需轉載,請註明出處!