转自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;
分享到:
相关推荐
这个查询计算了'2014-07-28 17:12:45'和Unix时间戳起始日期之间的天数,然后乘以一天的毫秒数得到毫秒值。 最后,我们常常需要获取系统的当前时间,这可以通过`SYSDATE`函数实现: ```sql SELECT to_char(sysdate,...
TIMESTAMP 型数据存储的是时间戳数据,可以精确到秒或毫秒。 4. 其它类型:包括 RAW、LONG RAW、LOB、FILE、XML TYPE 等。 RAW 型数据存储的是二进制数据,可以是图片、音频、视频等。 LONG RAW 型数据存储的...
`TIMESTAMP`除了包含`DATE`类型的所有信息外,还可以存储毫秒级别的精度,并且支持时区信息。例如: ```sql CREATE TABLE orders ( order_date DATE, delivery_timestamp TIMESTAMP ); ``` #### 4.4 其他数据...
本篇文章将详细介绍如何利用Oracle内置函数来精确计算两个日期之间的差值,并且能够得到天数、小时数、分钟数、秒数以及毫秒数等不同单位的结果。 #### 一、基础概念 在Oracle数据库中,日期类型是通过`DATE`数据...
根据提供的信息,本文将详细介绍如何使用SQL语句来获取两个时间(`START_DATE`和`END_DATE`)之间的差值,并分别以天、小时、分钟、秒以及毫秒为单位进行计算。 ### Oracle中计算时间差的基础 在Oracle数据库中,...
在Oracle中,日期类型(DATE)默认精度到秒,而如果需要毫秒级别的精度,就需要使用TIMESTAMP类型。 `TO_DATE`函数可以将字符串转换为日期,但仅支持到秒级精度。为了计算毫秒,我们需要使用`TO_TIMESTAMP`函数,它...
- **布尔数据类型**:仅有一种类型`BOOLEAN`,用于存储逻辑值`TRUE`、`FALSE`和`NULL`,但不支持直接存储到数据库表中。 - **LOB类型**:用于存储大型对象数据,如文本、图像、音频和视频等非结构化数据。 - `BLOB`...
接着通过`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_...
- **用途**:将`NUMBER`或`DATE`类型转换为`VARCHAR2`类型。 - **示例**:假设有一个`NUMBER`类型的字段存储了数值`123`,我们可以将其转换为字符串形式。 ```sql SELECT to_char(123) AS result FROM dual; ``...
在此之前,开发者通常使用DATE类型来记录时间点,但要表示两个时间点之间的差距,即时间间隔,就不得不将时间间隔转换为秒数存储在NUMBER列中,这给时间计算带来了很多不便。 Oracle 9i新增了两种时间间隔类型:...
- `TIMESTAMP`类型: 存储精确到毫秒的时间戳。 - `SYSDATE`: 当前系统日期。 - `SYSTIMESTAMP`: 当前系统时间戳。 - `TO_DATE`和`TO_CHAR`: 日期格式转换。 - `LAST_DAY`: 返回当前月份的最后一天。 - `ADD_...
此查询将返回当前系统时间以及该时间减去7分钟后的时间值。 **2. 当前时间减去7小时的时间** ```sql SELECT SYSDATE - INTERVAL '7' HOUR FROM DUAL; ``` 这个例子演示了如何计算当前时间减去7小时后的新时间。 **...
- **Oracle** 是一款由Oracle公司开发的关系型数据库管理系统(RDBMS)。自Oracle 8版本开始,它支持互联网技术,并且不断推出新版本,如Oracle 8i(Internet)、9i、10g(Grid Computing)以及11g等。 - Oracle与...
- **Timestamp**: Oracle数据库支持多种时间类型,其中`Timestamp`是最常用的一种,它可以存储日期和时间信息,精度可以达到毫秒级别。这对于需要记录精确时间的应用场景来说非常重要。 #### 三、数据定义语言(DDL...
6. TIMESTAMP:TIMESTAMP比DATE更精确,包含了小数位的秒信息,格式为DD-MM-YY(HH-MI-SS:FF3),FF3表示最多3位的小数精度,可以存储到毫秒级别,同样无千年虫问题。 7. LONG:LONG类型用于存储超长字符串,最大长度...
- **Date一般日期(年、月、日,时、分、秒)** - **特点:** 存储日期和时间信息。 - **Timestamp精确时间** - **特点:** 存储更精确的时间信息,包括毫秒级精度。 **3.4 图片类型** - **Blob可存储图片、视频...
- **日期型**:`DATE`和`TIMESTAMP`(包含毫秒信息)。 创建表的示例: ```sql CREATE TABLE student ( name VARCHAR2(20), birthday DATE, salary NUMBER(7,2) ); ``` 修改表结构涉及的命令有: - `RENAME ...