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

Oracle中Decode()函数使用技巧


  decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。
      DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通常的做法是,先选出记录中的工资字段值? select salary into var-salary from employee,然后对变量var-salary用if-then-else或choose case之类的流控制语句进行判断。 如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee 是不是很简洁? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。
  decode()函数使用技巧
  ·软件环境:
  1、Windows NT4.0+ORACLE 8.0.4
  2、ORACLE安装路径为:C:\ORANT
  ·含义解释:
  decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
  该函数的含义如下:
  IF 条件=值1 THEN
  RETURN(翻译值1)
  ELSIF 条件=值2 THEN
  RETURN(翻译值2)
  ......
  ELSIF 条件=值n THEN
  RETURN(翻译值n)
  ELSE
  RETURN(缺省值)
  END IF
  · 使用方法:
  1、比较大小
  select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
  sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
  例如:
  变量1=10,变量2=20
  则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
  2、表、视图结构转化
  现有一个商品销售表sale,表结构为:
  month    char(6)      --月份
  sell    number(10,2)   --月销售金额
  现有数据为:
  200001  1000
  200002  1100
  200003  1200
 


相关文档:

Oracle中组合索引的使用详解

在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引。在组合索引的使用方面,Oracle有以下特点:
    1、 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引;
    2、 在使用Oracle9i之前的基于成本的优化器(CBO)时 ......

Oracle密码文件的作用和说明


在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理。所以通常要求sysdba权限如果属于本地DBA组,可以通过操作系统认证登陆如果是远程sysdba登陆,需要通过passwordfile认证。
1.remote_login_passwordfile ......

一个修改Oracle用户密码的小诀窍

 数据库版本:9.2.0.5
  有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门,来完成操作。
  具体操作过程如下:
  SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004
  Copyright (c) 1982, ......

Oracle 语句优化30个规则(上)

1. 选用适合的Oracle优化器
  Oracle的优化器共有3种:
  a. RULE (基于规则)
  b. COST (基于成本)
  c. CHOOSE (选择性)
  设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 ......

oracle 笔记 VII 之 大数据量下的分页

 在ORACLE 大数据量下的分页解决方法。一般用截取ID 方法,还有是三层 嵌套方法
一种分页方法
<%
    int i = 1;
    int numPages = 14;
    String pages = request.getParameter("page");
    int currentPage = 1;
    cu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号