ORACLE 将number型的秒/毫秒值转成date类型
2016-02-26 09:45
330 查看
转自http://blog.csdn.net/zhengzhb/article/details/7082911
在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的,
1323957678114
1321326994295
1322129306804
1322129716220
猜到应该是1970年1月1号0点0分距现在的毫秒值。
解决办法是写一个转换函数:
create or replace function num_to_date(in_number NUMBER) return date is
begin
return(TO_DATE('19700101','yyyymmdd')+ in_number/86400000+TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 );
end num_to_date;
其中:加上TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24的用意为加上当地时区的的时间差,咱们是东八区TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))的值为8,除以24得到天。
然后使用函数就可以了
select num_to_date(t.actingtime) from 表名 t;
相关文章推荐
- ORACLE 将number型的秒/毫秒值转成date类型
- oracle 将Number型字段转为时间类型 将毫秒转为时间类型
- oracle 将Number型字段转为时间类型 将毫秒转为时间类型的
- Oracle 数据类型timestamp和date
- oracle 时间date 类型 like模糊查询例子
- 向oracle中插入date数据类型
- oracle 日期类型显示毫秒
- oracle的date类型数据 我是这么认为
- oracle 索引字段包含date类型,使用spring jdbc更新时不走索引,而是走table access full的问题
- oracle timestamp转换date及date类型相减
- ORACLE插入DATE类型字段
- ORACLE DATE和timestamp数据类型的比较
- Oracle中日期Date类型格式的转化
- SQL语句oracle中如何插入Date类型的数据
- oracle中 to_date() 如何取得毫秒
- ORACLE 中 怎么插入空值(时间类型DATE)
- oracle date 类型字段的处理方法
- Oracle的数据类型转换 to_char(date)
- [Oracle]日期和毫秒转换(Date->int)
- Oracle日期比较:2015/6/3 19:18:29 DATE类型 与 20161128095601 VARCHAR2(16)类型