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

oracle 情景查询
  1. decode()函数: 类似于if ... then ... else
    decode(value_expression, search_value, result_value, default_value)
    --value_expression: 参数表示将要与收索值比较的值活表达式
    --search_value: 参数表示将要的收索的值
    --result_value: value_expression与search_value相等时取值结果
    --default_value:  value_expression与search_value不相等时取值结果
    
    eg:
    select empno, ename, decode(deptno, 10, '财务部门','其他部门') dept
    from emp
    ?
  2. case表达式:类似于switch语句
    case search_expression
    when expression_1 then display_result_1
    when expression_2 then display_result_2
    ......
    when expression_n then display_result_n
    else default_display_result
    end
    --search_expression: 参数表示用于检索的表达式
    --expression_1: 与search_expression比较的表达式
    --display_result_1: 参数表达式匹配时显示的结果
    
    eg:
    select empno, ename, case deptno when 10 then '财务部门'
                              when 20 then '人力资源'
                              else '其他部门'
                         end dept
    from emp; 
    ?