1. 程式人生 > >oracle中case when使用

oracle中case when使用

turn ase AR oracl weight war mar spa ner

case...when 條件轉換函數
        case when有兩種表現形式 
         1 case 變量 when 值1 then 結果1
                          when 值2 then 結果2
                  else 其它 end --else可以選擇不要
            示例:
            select ename,job,(
                   case job when MANAGER then job 
                            when
CLERK then job end) from emp; 2 case when 表達式1 then 結果1 when 表達式2 then 結果2 else 其它 end 示例: select ename,sal, case when deptno=10 then 會計部 when deptno=20 then 研究部 when
deptno=30 then 銷售部 else 其它部門 end from emp; --在case when中當前面條件篩選過後,後面是從前面剩下的數據中再抽取。 --以scott用戶下面emp表為例。 --在進行第二中方法時需要考慮到順序。 SQL> select t.*,case when t.sal>=3000 then [3000 2 when t.sal<3000 and t.sal>=2500 then [2500-3000 3 when t.sal<
2500 and t.sal>=1500 then [1500-2500 4 else <1500 end as sal_level 5 ,case when t.sal>=3000 then [3000 6 when t.sal>=2500 then [2500-3000 7 when t.sal>=1500 then [1500-2500 8 else <1500 end as sal_level_test 9 from emp t; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SAL_LEVEL SAL_LEVEL_TEST ----- ---------- --------- ----- ----------- --------- --------- ------ ---------- -------------- 7369 SMITH CLERK 7902 1980/12/17 800.00 20 <1500 <1500 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 [1500-2500 [1500-2500 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 <1500 <1500 7566 JONES MANAGER 7839 1981/4/2 2975.00 20 [2500-3000 [2500-3000 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 <1500 <1500 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 [2500-3000 [2500-3000 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 [1500-2500 [1500-2500 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 [3000 [3000 7839 KING PRESIDENT 1981/11/17 5000.00 10 [3000 [3000 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 [1500-2500 [1500-2500 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 <1500 <1500 7900 JAMES CLERK 7698 1981/12/3 950.00 30 <1500 <1500 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 [3000 [3000 7934 MILLER CLERK 7782 1982/1/23 1300.00 10 <1500 <1500

oracle中case when使用