日期:2014-05-17  浏览次数:21098 次

关于decode的用法
关于decode的用法,最好举个详细的例子。

------解决方案--------------------
decode(value, search_value, result, default_value),用value与search_value比较,如果相等返回result,否则返回default_value。

例子请参考:

------解决方案--------------------
SQL code
解释上面的例子,如果product_type_id ="1" 时候,就取"书"  ="2" 时候,就取"视频"  后面一样,
如不等于,1,2,3,4 就取"杂志"

------解决方案--------------------
SQL code
等同于,case when的用法

------解决方案--------------------
这个问题问下百度就可以了,讲的很清楚
一下内容来自百度http://baike.baidu.com/view/1130040.htm
DECODE函数是ORACLE PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值 --->select salary into var-salary from employee,然后对变量var-salary用if-then-else或 case when then else end之类的流控制语句进行判断。 如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:   select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary*1.15) from employee 是不是很简洁? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。

------解决方案--------------------
SQL code

[SYS@myoracle] SQL>WITH t1 AS(
  2   SELECT 1 a FROM dual UNION ALL
  3   SELECT 2 a FROM dual UNION ALL
  4   SELECT 3 a FROM dual UNION ALL
  5   SELECT 4 a FROM dual)
  6  SELECT a,DECODE(a,1,'此值为1',2,'此值为2',3,'此值为3','此值不为1,2,3') ans
  7    FROM t1;

         A ANS
---------- -------------
         1 此值为1
         2 此值为2
         3 此值为3
         4 此值不为1,2,3

[SYS@myoracle] SQL>

------解决方案--------------------
顶楼上所有……
楼主肯定是来散分的……

------解决方案--------------------
baidu一下或google一下一堆
------解决方案--------------------
DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。 

  区别于SQL的其它函数,DECODE函数还能识别和操作空值。 

  语法如下: 

  DECODE(control_value,value1,result1[,value2,result2…][,default_result]); 

  control _value 

  试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。 

  value1 

  是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应 

  result1 

  是一组成序偶的结果值。 

  default_result 未能与任何一个值匹配时,函数返回的默认值。 

  示例如下: 

  select decode( x , 1 , ‘x is 1 ’, 2 , ‘x is 2 ’, ‘others’) from dual 

  当x等于1时,则返回‘x is 1’。 

  当x等于2时,则返回‘x is 2’。 

  否则,返回others’。 

http://www.enet.com.cn/article/2008/0416/A20080416229912.shtml