Oracle時間類型date,timestamp時間差計算

來源:互聯網
上載者:User

Oracle的時間類型有兩種date和timestamp.   date精確到秒,timestamp精確到毫秒.

 

1.計算date類型的時間差

 

可以先把年,月,日,小時,分,秒用to_char函數拆分出來,再用to_number函數轉換成數實值型別.有了這些單獨分開的時間就好辦了.就再一個個的去減,記得考慮單位換算就行.比如都轉換成小時或分之類的

樣本:

declare

v_date date;

v_year int;

v_month int;

v_day int;

v_hour int;

v_minute int;

v_second int;

begin

 v_date := sysdate;

 v_year :=to_number( to_char(v_date,'yyyy'));

--月,日,小時,分,秒的拆分方法和上面年的一樣,只要把yyyy分別替換成mm,dd,hh,mi,ss就行了

end;

--timestamp類型的時間也可以用同樣的方法,但是這隻能精確到秒,後面的毫秒就忽略掉了

 

2.計算timestamp類型的時間差

 

用to_char函數不能拆分出毫秒來.可以用另外一個函數extract

樣本

declare

v_t timestamp;

v_year int;

v_s float;

begin

 v_t := systimestamp;

 v_year := extract(year from v_t);

--月,日,小時,分的拆分方法和上面的年一樣只要把year改成month,day,hour,minute就行.

v_s :=extract(second from v_t);--注意,這裡雖然也只能拆分到秒,但這裡的秒是帶小數點的,小數點後面的就是毫秒了.

end;

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.