`
q12344566789
  • 浏览: 31897 次
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

ORACLE 将number型的秒/毫秒值转成date类型

 
阅读更多

转自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 毫秒与日期的相互转换示例

    这个查询计算了'2014-07-28 17:12:45'和Unix时间戳起始日期之间的天数,然后乘以一天的毫秒数得到毫秒值。 最后,我们常常需要获取系统的当前时间,这可以通过`SYSDATE`函数实现: ```sql SELECT to_char(sysdate,...

    Oracle实用教程_04章_Oracle数据类型和函数[整理].pdf

    TIMESTAMP 型数据存储的是时间戳数据,可以精确到秒或毫秒。 4. 其它类型:包括 RAW、LONG RAW、LOB、FILE、XML TYPE 等。 RAW 型数据存储的是二进制数据,可以是图片、音频、视频等。 LONG RAW 型数据存储的...

    v512工作室_张利国_Java高端培训系列教材_Oracle实用教程_04章_Oracle数据类型和函数.

    `TIMESTAMP`除了包含`DATE`类型的所有信息外,还可以存储毫秒级别的精度,并且支持时区信息。例如: ```sql CREATE TABLE orders ( order_date DATE, delivery_timestamp TIMESTAMP ); ``` #### 4.4 其他数据...

    oracle时间差表达式

    本篇文章将详细介绍如何利用Oracle内置函数来精确计算两个日期之间的差值,并且能够得到天数、小时数、分钟数、秒数以及毫秒数等不同单位的结果。 #### 一、基础概念 在Oracle数据库中,日期类型是通过`DATE`数据...

    Oracle里面 SQL语句 怎么得到两个时间的时间差

    根据提供的信息,本文将详细介绍如何使用SQL语句来获取两个时间(`START_DATE`和`END_DATE`)之间的差值,并分别以天、小时、分钟、秒以及毫秒为单位进行计算。 ### Oracle中计算时间差的基础 在Oracle数据库中,...

    Oracle计算时间差为毫秒的实现代码

    在Oracle中,日期类型(DATE)默认精度到秒,而如果需要毫秒级别的精度,就需要使用TIMESTAMP类型。 `TO_DATE`函数可以将字符串转换为日期,但仅支持到秒级精度。为了计算毫秒,我们需要使用`TO_TIMESTAMP`函数,它...

    Oracle PLSQL程序设计

    - **布尔数据类型**:仅有一种类型`BOOLEAN`,用于存储逻辑值`TRUE`、`FALSE`和`NULL`,但不支持直接存储到数据库表中。 - **LOB类型**:用于存储大型对象数据,如文本、图像、音频和视频等非结构化数据。 - `BLOB`...

    oracle --timestamp

    接着通过`TO_TIMESTAMP`函数将字符串格式的日期时间转换成`TIMESTAMP`类型的数据并插入到表中: ```sql INSERT INTO test VALUES ( TO_TIMESTAMP('2006-01-01 12:10:10.1', 'YYYY-MM-DD HH24:MI:SS.FF'), TO_...

    oracle

    - **用途**:将`NUMBER`或`DATE`类型转换为`VARCHAR2`类型。 - **示例**:假设有一个`NUMBER`类型的字段存储了数值`123`,我们可以将其转换为字符串形式。 ```sql SELECT to_char(123) AS result FROM dual; ``...

    在Oracle 9i中如何设置时间间隔型数据

    在此之前,开发者通常使用DATE类型来记录时间点,但要表示两个时间点之间的差距,即时间间隔,就不得不将时间间隔转换为秒数存储在NUMBER列中,这给时间计算带来了很多不便。 Oracle 9i新增了两种时间间隔类型:...

    oracle学习文档

    - `TIMESTAMP`类型: 存储精确到毫秒的时间戳。 - `SYSDATE`: 当前系统日期。 - `SYSTIMESTAMP`: 当前系统时间戳。 - `TO_DATE`和`TO_CHAR`: 日期格式转换。 - `LAST_DAY`: 返回当前月份的最后一天。 - `ADD_...

    oracle日期操作举例

    此查询将返回当前系统时间以及该时间减去7分钟后的时间值。 **2. 当前时间减去7小时的时间** ```sql SELECT SYSDATE - INTERVAL '7' HOUR FROM DUAL; ``` 这个例子演示了如何计算当前时间减去7小时后的新时间。 **...

    oracle课堂笔记

    - **Oracle** 是一款由Oracle公司开发的关系型数据库管理系统(RDBMS)。自Oracle 8版本开始,它支持互联网技术,并且不断推出新版本,如Oracle 8i(Internet)、9i、10g(Grid Computing)以及11g等。 - Oracle与...

    oracle基础学习资料

    - **Timestamp**: Oracle数据库支持多种时间类型,其中`Timestamp`是最常用的一种,它可以存储日期和时间信息,精度可以达到毫秒级别。这对于需要记录精确时间的应用场景来说非常重要。 #### 三、数据定义语言(DDL...

    oracle常用数据类型说明

    6. TIMESTAMP:TIMESTAMP比DATE更精确,包含了小数位的秒信息,格式为DD-MM-YY(HH-MI-SS:FF3),FF3表示最多3位的小数精度,可以存储到毫秒级别,同样无千年虫问题。 7. LONG:LONG类型用于存储超长字符串,最大长度...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    - **Date一般日期(年、月、日,时、分、秒)** - **特点:** 存储日期和时间信息。 - **Timestamp精确时间** - **特点:** 存储更精确的时间信息,包括毫秒级精度。 **3.4 图片类型** - **Blob可存储图片、视频...

    10Oracle复习1

    - **日期型**:`DATE`和`TIMESTAMP`(包含毫秒信息)。 创建表的示例: ```sql CREATE TABLE student ( name VARCHAR2(20), birthday DATE, salary NUMBER(7,2) ); ``` 修改表结构涉及的命令有: - `RENAME ...

Global site tag (gtag.js) - Google Analytics