1. 程式人生 > 實用技巧 >核算兩個時間之間時長

核算兩個時間之間時長

一、需求:需要核算固定日期到當前日期之間的相隔時長;或者需要核算兩個日期期間的相隔時長。

二、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 函式:【獲取指定日期對應月份的最後一天】

好記性,不如爛筆頭!學到東西,記錄下來吧。

原創:如需轉載,請註明出處!