欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle数据库中关于日期和时间字段类型

程序员文章站 2022-04-09 10:35:03
...

Oracle数据库 与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTERVAL类型可以很容易地存储一个时间量,如“8个小时”或“30天”。将两

Oracle数据库

与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTERVAL类型可以很容易地存储一个时间量,如“8个小时”或“30天”。将两个日期相减,就会得到一个时间间隔(INTERVAL);例如,将8小时间隔加到一个TIMESTAMP上,会得到8小时以后的一个新的TIMESTAMP。

操作日期有关字段的时候,最好显示地指定日期或时间格式,比如:

Insert into t ( date_column ) values ( to_date( '01/02/2003', 'DD/MM/YYYY' ) );避免各种格式造成混乱。

1. DATE类型介绍

DATE类型是一个7字节的定宽日期/时间数据类型。它总是包含7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。这七个字节分别存储的是这7个属性,比如:2005-12-05 12:30:43存储的是120,105,12,5,12,31,44。世纪和年份分别加了100,分钟和秒钟分别加了1。世纪和年份加100是为了区分公元前和公元后。我们经常使用这样的条件,Where to_char(date_column,'yyyy') = '2005',其实这个地方可以换成:Where trunc(date_column,'y') = to_date('01-jan-2005','dd-mon-yyyy')。因为,trunc函数是在日期上将年份后面5个字节清空,而to_char函数,还要转换成字符串。当然,如果能够不使用函数最好,比如:created >= to_date('01-jan-2005','dd-mon-yyyy') and created

更多Oracle资料、视频教程:

http://2.taobao.com/item.htm?id=42922011874&spm=686.1000925.0.0.ZVvkz6&mt=


如何向date增减时间

1. 使用NUMTODSINTERVAL内置函数来增加小时、分钟和秒。比如:DATE+NUMTODSINTERVAL(n,'minute')

2. 加一个简单的数来增加天。比如:DATE+n

3. 使用ADD_MONTHS内置函数来增加月和年。比如:ADD_MONTHS(DATE,n)

因为,ADD_MONTHS函数专门处理月末日期。它实际上会为我们完成日期的“舍入”;例如,如果向一个有31天的月增加1个月,而且下一个月不到31天,ADD_MONTHS就会返回下一个月的最后一天。比如:向2000年2月29日增加1个月,得到的是2000年3月31日。2月29日是该月的最后一天,所以ADD_MONTHS返回了下一个月的最后一天。

2. TIMESTAMP类型介绍

TIMESTAMP类型与DATE非常类似,只不过另外还支持小数秒和时区。

语法如下: TIMESTAMP(n),n可选,用于指定TIMESTAMP中秒分量的小数位数,可以取值为0~9.如果指定0,TIMESTAMP在功能上则与DATE等价。

更多Oracle资料、视频教程:

http://2.taobao.com/item.htm?id=42922011874&spm=686.1000925.0.0.ZVvkz6&mt=