易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle学习笔记之日期函数

Oracle日期函数学习时,在教程有几个实例如下:
Months_between(’01-sep-95’, ’11-jan-94’)
结果是:19.6774194

Add_months 在指定的月份上面增加相应得月份
例如:
Add_months(’11-jan-94’, 6)
结果是:11-jul-94

Next_day 计算规定日期的后一个特定日期
例如:
Next_day(’01-sep-95’, ‘Friday’ )
结果是:
08-sep-95

Last_day 指这个月最后一天
例如:
Last_day(’01-feb-95’) 
然而在SQL*plus输入这些函数执行时,却总得不到正确的结果,因为日期的格式无法识别。正确的用法应该如下:
select MONTHS_BETWEEN('24-2月-2010','24-2月-2010') from dual。这样写很不方便,为了避免出现这样的问题,在自己书写日期时,最好用自己喜欢的方式书写,并用to_date函数指定格式如:
select MONTHS_BETWEEN(to_date('20100224','yyyymmdd'),to_date('20100524','yyyymmdd')) from dual 
这里涉及到一个to_date函数,它将输入的字符串序列,转换为指定格式的日期函数,由此可得其它更为全面的实例为(以下部分摘自http://blog.csdn.net/sxpyrgz):
1.ADD_MONTHS
增加或减去月份
SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;
TO_CHA
------
200002
SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;
TO_CHA
------
199910
2.LAST_DAY
返回日期的最后一天
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;
TO_CHAR(SY TO_CHAR((S
---------- ----------
2004.05.09 2004.05.10
SQL> select last_day(sysdate) from dual;
LAST_DAY(S
----------
31-5月 -04
3.MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份
SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;
MON_BETWEEN
-----------
9
SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd')) mon_betw from dual;
MON_BETW
---------
-60
注:SELECT months_between(SYSDATE, sysdate) same,
months_between(SYSDATE, add_months(sysdate, -1)) big,
months_between(SYSDATE, add_months(sysdate


相关文档:

Oracle Instant Client安装


软件下载
到http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载如下三个包:
instantclient-basic-win32-11.1.0.7.0.zip
instantclient-jdbc-win32-11.1.0.7.0.zip
instantclient-sqlplus-win32-11.1.0.7.0.zip
将这三个包分别解压,然后内容放到D:\instantclient_11_1下
......

oracle 层次化查询

层次化查询:
select   [level],colomn,...from table
       [where where_clause]
       [   [start with start_condition]          [connect by prior prior_condition]&nbs ......

oracle system密码忘记解决

1.用Oracle用户登陆Linux服务器;
2.在终端窗口输入 sqlplus /nolog
   [oracle@hylinux ~]$ sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 7月 29  14:26:16 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
& ......

oracle jobs批处理语句

--oracle jobs批处理命令参考
qlplus /nolog
connect sys/lee as sysdba
--以下两句在sys(即具有dba权限的用户)用户下执行
show parameter job_queue_processes;
alter system set job_queue_processes=10;
exit
sqlplus /nolog
connect jcy/jcy
ALTER TABLE T_OA_AFFICHE MODIFY (INPUT_TIME DATE);
ALTER TABLE ......

oracle Function


5.调用函数FN_ADDONE
--------------------
SQL> SET SERVEROUTPUT ON
SQL> DECLARE CNUM NUMBER;
  2  BEGIN
  3     CNUM := USER1_ADB.FN_ADDONE(3);
  4     DBMS_OUTPUT.PUT_LINE('CNUM = ' || CNUM);
  5  END;
  6&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号