易截截图软件、单文件、免安装、纯绿色、仅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加密函数

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_crypto.htm
oracle自带文档写的比较清楚
24

DBMS_CRYPTO
DBMS_CRYPTO
provides an interface to encrypt and
decrypt stored data, and can be used in conjunction with PL/SQL
programs running network communications. It provides suppo ......

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 的 left/right join与(+)的一个区别

基本从来不用left/right join
一个项目被迫要用别人写的 sql
本打算改写一下,提高效率
发现:
【1】
select * from  a
left outer join  b on a.id= b.id AND ...1...
 where ...2...

【2】
select * from  a , b 
 where a.id= b.id(+)
A ......

修改Oracle 10g SGA 大小

使用SYS用户以SYSDBA身份登录系统
查看修改前sga_max_size,sga_target大小
show parameter sga_max_size;
show parameter sga_target;
修改参数
alter system set sga_max_size=1600m scope=spfile;
alter system set sga_target=1600m scope=spfile;
查看修改后sga_max_size,sga_target大小
show parameter sga_ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号