OracleにNVL関数、NVL2関数でNULLを別の値に置き換えるサンプル

2022年1月17日

書式1
SELECT NVL(カラム名, ‘置き換える値’) FROM テーブル名;
nullの場合のみ別の値に置き換える場合は、NVLを使用します。

使用例
nullの場合は「不合格」と表示します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
username
,nvl(level, '不合格') AS level
FROM
testA;
SELECT username ,nvl(level, '不合格') AS level FROM testA;
SELECT
  username
 ,nvl(level, '不合格') AS level
FROM
  testA;

書式2
NVL2(<対象値>, <NULLでない場合の値>, <NULLの場合の値>)
nullの場合とnullでない場合それぞれで別の値に置き換える場合は、NVL2を使用します。
使用例
nullの場合は「不合格」、nullではないは「合格」と表示します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
username
,nvl2(level, '合格', '不合格') AS level
FROM
testA;
SELECT username ,nvl2(level, '合格', '不合格') AS level FROM testA;
SELECT
  username
 ,nvl2(level, '合格', '不合格') AS level
FROM
  testA;

 

Oracle

Posted by arkgame