Oracle的时间类型有两种date和timestamp. date精确到秒,timestamp精确到毫秒.
1.计算date类型的时间差可以先把年,月,日,小时,分,秒
用to_char函数拆分出来,再用to_number函数转换成数值类型.有了这些单独分开的时间就好办了.就再一个个的去减,记得考虑单位换算就行.比如都转换成小时或分之类的示例:declarev_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示例declarev_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;Oracle 10G上的ORA-600 [19004]问题居然在11Gr2上还有?Ubuntu中安装MySQL Server相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)