Oracle查询语句——条件表达式

本文记录Oracle学习过程中遇到的Oracle查询语句——条件表达式~

条件表达式:在SQL语句中使用if-then-else。

两种实现方式:

  • case表达式:SQL99的语法,类似Basic,比较繁琐;
  • decode函数:Oracle自己的语法,类似Java,比较简洁。

case表达式语法格式:

case expr when comparison_expr1 then return_expr1
	[when comparison_expr2 then return_expr2
	 when comparison_exprn then return_exprn
	 else else_expr]
end

decode函数语法格式:

decode(col|expression, search1, result1
	[, search2, result2, ...,]
	[, default])

示例代码(根据10号部分员工的工资,显示税率):

select ename, sal
	decode (trunc(sal/2000, 0),
		0, 0.00,
		1, 0.09,
		2, 0.20,
		3, 0.30,
		4, 0.40,
		5, 0.42,
		6, 0.44,
		   0.45) TAX_RATE
from emp
where deptno = 10;

标签: none