Posted on 2008-07-24 20:41
sailor 阅读(306)
评论(0) 编辑 收藏 所属分类:
oracle
oracle中日期和时间的操作
来源:http://sail2000.itpub.net/post/558/7243
本人一直oracle 日期操作使用很模糊,现总结如下:
1,date 类型
date为oracle中的一个字段类型,日期类型。该字段类型不仅指日期还表示具体的时间。如2001年11月4日 20点43分
2、转换函数
与date操作关系最大的就是两个转换函数:to_date(),to_char()
to_date() 作用将字符类型按一定格式转化为日期类型:
具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。
如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间
多种日期格式:
YYYY:四位表示的年份
YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪
MM:01~12的月份编号
MONTH:九个字符表示的月份,右边用空格填补
MON:三位字符的月份缩写
WW:一年中的星期
D:星期中的第几天
DD:月份中的第几天
DDD:所中的第几天
DAY:九个字符表示的天的全称,右边用空格补齐
HH,HH12:一天中的第几个小时,12进制表示法
HH24:一天中的第几个小时,取值为00~23
MI:一小时中的分钟
SS:一分钟中的秒
SSSS:从午夜开始过去的秒数
to_char():将日期转按一定格式换成字符类型
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;
TIME
-------------------
2004-10-08 15:22:58
即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型
sysdate也是个特殊类型函数,该函数返回当前系统时间,在程序中应用比较频繁。
3、设置系统默认时间格式
在实际应用中,利用to_char()函数转换可能是很繁琐的事情。可以在系统中设置
时间默认格式
会话级: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
实例级;alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile';
SQL> select sysdate from dual;
SYSDATE
-------------------
2004-10-08 15:35:33
可以看到具体时间格式已经更改.