SQL単行関数-その他の関数


その他の関数


NVL (column, exp1)


:Null値をexp 1値に変換

NVL2(column, exp1,exp2)


:カラムがnullの場合はexp 2値、nullでない場合はexp 1値を返します.
>> nvl2(mgr, mgr||'담당','상위자')
-> mgr이 mull이면 '상위자', null이 아니면 '담당' 리턴)

NULLIF(exp1,exp2)


:exp 1とexp 2の値が同じ場合nullを返し、exp 1の値が異なる場合
>> nullif(job, 'SALESMAN')
->job이 SALESMAN 이면 NULL, 아니면 job 데이터 리턴

COALESCE (exp1, , expN)


: exp1, exp2, ..., expnの最初のnull以外の値を使用する

DECODE


:If-then-else文の役割を実行します(条件クエリーが便利です)
>> DECODE(JOB, 'ANALYST', SAL*1.1
	     ,'CLERK', SAL*1.2
             ,'MANAGER', SAL*1.3
             ,'SALESMAN', SAL*1.4, SAL)
DECODEには、カラムとデータの間に演算子がありません.
したがって、すべての条件を「=」と見なします.

CASE WHEN条件式THEN EXP 1 END


:If–then-else文の役割
>> CASE job WHEN 'ANALYST' THEN sal * 1.1
            WHEN 'CLERK' THEN  sal * 1.2
            WHEN 'MANAGER' THEN  sal * 1.3
            WHEN 'PRESIDENT' THEN  sal * 1.4
            WHEN 'SALESMAN' THEN sal * 1.5
            ELSE sal
   END  salary
   
   
>>CASE  WHEN sal < 1000 THEN 'A'
        WHEN sal < 2500 THEN 'B'
        ELSE 'C'
  END  grade     
DECODEとは異なり、カラムとデータの間で演算子を使用できます.