您的位置:首页 > 数据库 > Oracle

oracle日期转换及时间差

2012-09-05 14:16 288 查看
oracle date与number类型间的转换

我们在保存时间到数据库时,有时候会保存long型的数据,固定长度是13位,是用当前时间减去1970-01-01,再换算成毫秒得到的结果。

oracle中的实现方式:

----------------------------------------------

1,date转long :

当前时间转成long :

select sysdate,

(sysdate- to_date('1970-01-01','yyyy-mm-dd'))* 24*60*60*1000

current_milli from dual;

2,long转date

select to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')

+ 1241450728000/1000/24/60/60 from dual

oracle计算时间差

Oracle函数可以实现诸多的功能,下面就介绍使用Oracle函数计算时间差的实现方法,如果您对Oracle函数方面感兴趣的话,不妨一看。

两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):

天:

ROUND(TO_NUMBER(END_DATE - START_DATE))

小时:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)

分钟:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)

秒:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)

毫秒:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: