Oracle計算時間跨度的函數

來源:互聯網
上載者:User

標籤:oracle   時間跨度   

顯示距離目前時間的跨度

-- 計算時間跨度:傳回值為X天y時z分

declare

  ln_day_count      number(10);

  ln_hour_count     number(10);

  ln_min_count      number(10);

  ls_time_sent_last varchar2(20) := ‘2015-06-07 08:40:20‘;

  ls_timespan varchar2(100) := ‘‘;

begin 

  -- 計算天數

  select floor(sysdate - To_date(ls_time_sent_last, ‘yyyy-mm-dd hh24-mi-ss‘))  into ln_day_count FROM dual;

  if ln_day_count != 0 then

    ls_timespan := to_char(ln_day_count) || ‘天‘;

    dbms_output.put_line(ls_timespan);

  end if;

  -- 計算時數

  select mod(floor(((sysdate - To_date(ls_time_sent_last, ‘yyyy-mm-dd hh24-mi-ss‘))) * 24),24) into ln_hour_count FROM dual;

  if ln_hour_count != 0 then

    ls_timespan := ls_timespan || to_char(ln_hour_count) || ‘時‘;

    dbms_output.put_line(ls_timespan);

  end if;

  -- 計算分鐘數

  select mod(mod(floor(((sysdate - To_date(ls_time_sent_last, ‘yyyy-mm-dd hh24-mi-ss‘))) * 24 * 60),24*60),60) into ln_min_count FROM dual;

  if ln_min_count != 0 then

    ls_timespan := ls_timespan || to_char(ln_min_count) || ‘分‘;

    dbms_output.put_line(ls_timespan);

  end if;

end; 



Oracle計算時間跨度的函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.