日期:2014-05-16  浏览次数:20449 次

oracle(1)

decode

语法如下:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。

例子

select product_id,decode(warehouse_id,1,'book',2,'computer',3,'vcd',4,'cd','unknown') kind from inventories.

?

case

当执行Oracle case语句执行多重条件分支时,如果条件选择符完全相同,并且条件表达式为相同条件选择,那么可以选择单一选择符进行等值比较,语法如下:?
case? 条件选择符
when? 条件值表达式1 then 要执行的操作1;
when? 条件值表达式2 then 要执行的操作2;
。。。。。。。
else?
要执行的操作。
end case;

例子

CASE sex?
WHEN '1' THEN '男'?
WHEN '2' THEN '女'?
ELSE '其他' END?

CASE
WHEN sex = '1' THEN '男'?
WHEN sex = '2' THEN '女'?
ELSE '其他' END