oracle 数据类型详解---日期型

来源:互联网 发布:域名怎么和服务器绑定 编辑:程序博客网 时间:2024/06/16 23:04

1、常用日期型数据类型
1.1、DATE
这是ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日
date类型在数据库中的存储固定为7个字节,格式为:
 第1字节:世纪+100
 第2字节:年
 第3字节:月
 第4字节:天
 第5字节:小时+1
 第6字节:分+1
 第7字节:秒+1

1.2、TIMESTAMP(p)
这也是ORACLE常用的日期类型,它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。
格式为:
 第1字节:世纪+100
 第2字节:年
 第3字节:月
 第4字节:天
 第5字节:小时+1
 第6字节:分+1
 第7字节:秒+1
 第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形

注:TIMESTAMP日期类型如果与数值进行加减运算会自动转换为DATE型,也就是说小数秒会自动去除。


create table T (    C1 DATE,    C2 TIMESTAMP(9)  );
insert into t(c1,c2) values(        to_date('2010-2-12 10:20:30','YYYY-MM-DD HH24:MI:SS'),       to_timestamp('2010-2-12 13:24:52.123456','YYYY-MM-DD HH24:MI:SS.FF6')

2、常见问题
2.1、如何取当前时间

sysdate--返回当前系统日期和时间,精确到秒
systimestamp--返回当前系统日期和时间,精确到毫秒
2.2、如何进行日期运算
日期型数据可以与数值加减得到新的日期,加减数值单位为天
sysdate+1--取明天的当前时间
sysdate-1/24--取当前时间的前一个小时

SQL> select sysdate d1,sysdate+1 d2,sysdate-1/24 d3 from dual;


原创粉丝点击