【ORACLE】oracle时间对象的处理

********************************************************************************
****原文:blog.csdn.net/clark_xu  徐长亮的专栏
********************************************************************************

1.1  oracle date对象的使用

(1)     创建date字段

例如,

create table foo_7(d1 date);

(2)     使用to_date函数插入date对象。to_date(‘字符串字符串格式’)

例如,

insert into foo_7 values(to_date('2015年11月20日13时20分10秒','yyyy"年"mm"月"dd"日"hh24"时"mi"分"ss"秒"'));

或者:yyyy-mm-dd hh24:mi:ss

(3)     使用to_char函数输出date对象。To_char(date对象,字符串格式’)

例如,

insert into foo_7 values(to_date('2015年11月20日13时20分10秒','yyyy"年"mm"月"dd"日"hh24"时"mi"分"ss"秒"'));

 

(4)     Last_day()函数为了计算所在月份的最后一天,大月小月

例如,

select to_char(last_day(sysdate),'yyyy-mm-dd') from dual;

(5)     使用months_between计算两个时间间隔几个月

例如,

select months_between(sysdate,to_date('1989-05-05','yyyy-mm-dd'))/12 years from dual;

(6)使用extract()函数获取时间对象的年月日,格式为extract(year[mounth][day] from 时间对象),例如

select extract(year from sysdate) from dual;

(7)使用trunc函数吧时分秒改为00:00:00

例如,

select to_char(trunc(sysdate),'yyyy-mm-dd hh24:mi:ss') from dual;

(8)     使用round函数对时进行取舍(过了12时,则进1);

例如,

select to_char(round(sysdate),'yyyy-mm-dd hh24:mi:ss') from dual;

(9)     least(date1,date2)返回比较古老久远的时间对象

 

1.2 oracle timestamp()时间戳对象,更加精确。

(1)     创建timestamp字段

例如,

create table foo_8(time timestamp);

(2)     利用系统常量systimestamp对象插入一条记录,

例如,

insert into foo_8 values(systimestamp);

(3)     利用to_char对象显示Timestramp字段的时间

显示到秒

select to_char(time,'yyyy-dd-mm hh24:mi:ss') "time" from foo_8;

2015-25-01 13:15:31

显示到任意精度的秒

         SQL> select to_char(time,'yyyy-dd-mm hh24:mi:sssssssss') "time" from foo_8;

显示到毫秒,微秒等

select to_char(time,'yyyy-dd-mm hh24:mi:ss.ss') "time" from foo_8;  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值