当前位置: 网学 > 编程文档 > ORACLE > 正文

Oracle里时间的应用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
;
alter session set NLS_DATE_LANGUAGE = American  
或者在to_date中写  
select to_char(to_date(''''2002-08-26'''',''''yyyy-mm-dd''''),''''day'''',''''NLS_DATE_LANGUAGE = American'''') from dual;  
注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,  
可查看  
select * from nls_session_parameters  
select * from V$NLS_PARAMETERS  

8.  
select count(*)  
from ( select rownum-1 rnum  
from all_objects  
where rownum <= to_date(''''2002-02-28'''',''''yyyy-mm-dd'''') - to_date(''''2002-  
02-01'''',''''yyyy-mm-dd'''')+1  
)  
where to_char( to_date(''''2002-02-01'''',''''yyyy-mm-dd'''')+rnum-1, ''''D'''' )  
not  
in ( ''''1'''', ''''7'''' )  

查找2002-02-28至2002-02-01间除星期一和七的天数  
在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).  

9.  
select months_between(to_date(''''01-31-1999'''',''''MM-DD-YYYY''''),  
to_date(''''12-31-1998'''',''''MM-DD-YYYY'''')) "MONTHS" FROM DUAL;  
1  

select months_between(to_date(''''02-01-1999'''',''''MM-DD-YYYY''''),  
to_date(''''12-31-1998'''',''''MM-DD-YYYY'''')) "MONTHS" FROM DUAL;  

1.03225806451613  
10. Next_day的用法  
Next_day(date, day)  

Monday-Sunday, for format code DAY  
Mon-Sun, for format code DY  
1-7, for format code D  

11  
select to_char(sysdate,''''hh:mi:ss'''') TIME from all_objects  
注意:第一条记录的TIME 与最后一行是一样的  
可以建立一个函数来处理这个问题  
create or replace function sys_date return date is  
begin  
return sysdate;  
end;  

select to_char(sys_date,''''hh:mi:ss'''') from all_objects;  
12.  
获得小时数  

SELECT EXTRACT(HOUR FROM TIMESTAMP ''''2001-02-16 2:38:40'''') from offer  
SQL> select sysdate ,to_char(sysdate,''''hh'''') from dual;  

SYSDATE TO_CHAR(SYSDATE,''''HH'''')  
-------------------- ---------------------  
2003-10-13 19:35:21 07  

SQL> select sysdate ,to_char(sysdate,''''hh24'''') from dual;  

SYSDATE TO_CHAR(SYSDATE,''''HH24'''')  
-------------------- -----------------------  
2003-10-13 19:35:21 19  

获取年月日与此类似  
13.  
年月日的处理  
select older_date,  
newer_date,  
years,  
months,  
abs(  
trunc(  
newer_date-  
add_months( older_date,years*12+months )  
)  
) days  
from ( select  
trunc(months_between( newer_date, older_date )/12) YEARS,  
mod(trunc(months_between( newer_date, older_date )),  
12 ) MONTHS,  
newer_date,  
older_date  
from ( select hiredate olde
  • 下一篇资讯: Oracle维护常用SQL语句
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号