oracle数据库日期格式的运算,Oracle时间类型date,timestamp时间差计算
Oracle的時間類型有兩種date和timestamp.?? date精確到秒,timestamp精確到毫秒.
1.計(jì)算date類型的時間差
可以先把年,月,日,小時,分,秒用to_char函數(shù)拆分出來,再用to_number函數(shù)轉(zhuǎn)換成數(shù)值類型.有了這些單獨(dú)分開的時間就好辦了.就再一個個的去減,記得考慮單位換算就行.比如都轉(zhuǎn)換成小時或分之類的
示例:
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.計(jì)算timestamp類型的時間差
用to_char函數(shù)不能拆分出毫秒來.可以用另外一個函數(shù)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);--注意,這里雖然也只能拆分到秒,但這里的秒是帶小數(shù)點(diǎn)的,小數(shù)點(diǎn)后面的就是毫秒了.
end;
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的oracle数据库日期格式的运算,Oracle时间类型date,timestamp时间差计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DOM-5【兼容】滚动距离与高度、兼容模
- 下一篇: vb mysql登录界面_vb.net