Home実験室 − No.0055


        No.0055(SQL)
        値の判定(NULLIF関数、COALESCE関数)

■環境
  □OS: Windows XP Professional SP3
  □Oracle: Oracle Database 11g R2 (Standard)
  □OSログインユーザ: ORA_DBAグループ
  □Oracleユーザ: dicdic(実験用ユーザー)

■実験
  0. 実験ユーザー「dicdic」でコネクトする。

SQL> conn dicdic/Oracle11g 接続されました。 SQL>



  1. 【NULLIF関数】
     NULLIF関数は、2つの引数が同値ならNULLを返し、違う場合は第1引数を返す。
     下の例は、NULLIF関数で評価した結果、値が同じでNULLが戻された場合。

SQL> Select NULLIF(1,1) NULLIF結果 from dual; NULLIF結果 ---------- SQL>



  2. 下の例は、NULLIF関数で評価した結果、値が違って第1引数が戻された場合。
     このNULLIF関数がどのようなシーンで使われるかは、イメージがわきにくい...。

SQL> Select NULLIF(1,2) NULLIF結果 from dual; NULLIF結果 ---------- 1 SQL>



  3. 【COALESCE関数】
     COALESCE関数の場合、使い方よりも、何と発音するのかという疑問が先に立つ。
     「コアレスシーイー」と呼んでする人を見たことがあるが、NULLIF関数同様、利用するビジネスシーンが
     想像しにくいので、もうどーでもいいような気もする。
     COALESCE関数は、羅列する引数の中から、NULLではない最初の値を返す。

SQL> Select COALESCE(1,2) COALESCE結果 from dual; COALESCE結果 ------------ 1 SQL>



  4. なんともはや、つまらない関数です。

SQL> Select COALESCE(Null,Null,1,2,3,Null) COALESCE結果 from dual; COALESCE結果 ------------ 1 SQL>



  5. あまりにつまらないのでイタズラを。
     COALESCE関数の引数をすべてNullにするとどうなるか....。
     ああ、最後までNullならNullが返るのね。

SQL> Select COALESCE(Null,Null,Null) COALESCE結果 from dual; C - SQL>





    【PR】    Oracle実験室監修  『Oracleアーキテクチャ鳥瞰図』 PDF  (Oracleのアーキテクチャを一目で俯瞰できるイラスト)  


Home実験室 − No.0055

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system