ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE 日期时间

ORACLE 日期时间

原创 Linux操作系统 作者:tomshenhao 时间:2011-09-15 16:41:19 0 删除 编辑
 

年处理:(19、20)

YY:与当前年份相同 例如:当前是2011 '11-01-10' --> 2010-01-11

RR:

1. 当前年份在0~49,RR在0~49 ,RR与当前年份的前两位相同 例如:当前是2011 '11-01-10' --> 2010-01-11

2. 当前年份在0~49,RR在50~99, RR在当前年份之前 例如:当前是2011 '11-01-55' --> 1955-01-11

3. 当前年份在50~99,RR在0~49 ,RR在当前年份之后 例如:当前是1999 '11-01-22' --> 2022-01-11

4. 当前年份在50~99,RR在50~99 ,RR与当前年份的前两位相同 例如:当前是1999 '11-01-75' --> 1975-01-11

毫秒显示

select to_date(systimestamp,'HH24:MI:SS.FF9') from dual;

定义日期显示格式

1. session级别:

alter session set nls_date format='yyyy-mm-dd hh24:mi:ss';

2. 语句级别:

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

NEXT_DAY(date,'char'):查找date之后下一个指定星期几('char')的日期;char可能是英文,也可能为中文,取决于oracle字符集

时间类型
1. INTERVAL YEAR TO MONTH: 用年,月存储时间段
定义:loan_duration INTERVAL YEAR(3) TO MONTH);
赋值:

INSERT INTO time_example(load_duration) VALUES (INTERVAL '120' MONTH(3));

INSERT INTO time_example(load_duration) VALUES (INTERVAL '120' YEAR(3));

INSERT INTO time_example(load_duration) VALUES (INTERVAL '120-120' YEAR(3) TO MONTH);

2. INTERVAL DAY TO SECOND:用日,小时,分钟,秒存储时间段

定义:day_duration INTERVAL DAY(3) TO SECOND);

赋值:INSERT INTO time_example(day_duration) VALUES (INTERVAL '180' DAY(3));

INSERT INTO time_example(day_duration) VALUES (INTERVAL '4 5:12:10.222' DAY TO SECOND(3));

INSERT INTO time_example(day_duration) VALUES (INTERVAL '180 5' DAY(3) TO HOUR);

NEXT_DAY:

next_day(sysdate):明天

next_day(sysdate,1):今天之后的第一个周日

next_day(sysdate,2):今天之后的第一个周一

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24751738/viewspace-707538/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORACLE TO_CHAR
请登录后发表评论 登录
全部评论

注册时间:2011-07-14

  • 博文量
    260
  • 访问量
    398715