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;
分享到:
相关推荐
oracle中TIMESTAMP与DATE比较
Oracle date 和 timestamp 区别详解 1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情...
Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数 --unix时间戳与date时间互转 SELECT oracle_to_unix(SYSDATE),unix_to_oracle(1551774286),oracle_to_unix(SYSDATE) FROM dual;
对oracle date,timestamp,interval数据类型的详细讲解。
oracle --timestamporacle --timestamporacle --timestamporacle --timestamporacle --timestamporacle --timestamporacle --timestamporacle --timestamp
oracle timestamp详解 将常用的转换方法及使用注意事项都罗列出来了
spirng-boot 的时间类型(date、datetime、timestamp)的全局配置, 以及mysql的时间字段如何设置。
有关java中的Date,String,Timestamp之间的转化问题
NULL 博文链接:https://bchen.iteye.com/blog/1632845
2、timestamp转成date型 代码如下: select cast(to_timestamp(’01-10月-08 07.46.41.000000000 上午’,’dd-MON-yy hh:mi:ss.ff AM’) as date) timestamp_to_datefrom dual; 3、date型转成timestamp 代码如下:...
数据库类型Timestamp与java.util.Date类型相互转化,有完整步骤,实测可行。
5、DATE数据类型,使用7个字节固定长度,每个字节分别存储世纪,年,月,日 ,时,分,秒,ORACLE中SYSDATE函数的功能是返回当前的日期和时间 6、TIMESTAMP数据类型,和DATE相似,但是这个类型的秒精确到小数点后6...
我们都知道date和timestamp都是对日期和时间的表示,只是两种类型的精确度不同,前者精确到秒,后者精确到小数秒(fractional_seconds_precision),可以是 0 to 9,缺省是6。这篇文章主要介绍了Oralce中TIMESTAMP的...
Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型 datejava.sql.Date Datetimejava.sql
根据timestamp 计算两个时间的差, 支持 秒、分、时、天、月、年的维度
Oracle 中我们知道用 TO_DATE 函数可以进行秒、分、时、天、月、年、周等时间差的计算,但是毫秒却不好计算,TO_DATE 函数只能精确到秒,毫秒则只能用 TO_TIMESTAMP 函数,但是这个函数不像 TO_DATE 这样直接减出来...
在Oracle 9i中,按照SQL 99标准,增加了时间间隔型数据INTERVAL YEAR TO MONTH 和 INTERVAL DAY TO SECOND,它们和其他几种数据类型一起使得对时间的处理更加准确。TIMESTAMP、TIMESTAMP WITH TIME ZONE和TIMESTAMP ...
。。。