投資家たぬきちのブログ

地方×都会のデュアルライフとシンプルライフを実践する、兼業投資家のたぬきちだよ

CASE文でNULL判定まとめ!sqlでの条件分岐であるかないかNULLかどうかを制御(Oracle)



SQLで条件分岐する際にNULL値かどうかを判定する方法を説明。


CASE文で実現するのがカンタンであり、NULL判定は
「WHEN 項目名 IS NULL」
で行う。

具体的な構文は
CASE 
WHEN 項目名 IS NULL 
THEN 式1 
ELSE 式2 
END
となる。

項目名がNULLの場合は式1
NULL以外の場合は式2に処理が分岐される。

以下にサンプルとして
従業員テーブルからIDと名前を引っ張り、
NULLだったら異なる列のTANUKICHIから値を持ってくる
という処理を示す。

SELECT 
ID,
Name,
CASE
WHEN ID IS NULL
THEN TANUKICHI
ELSE ID
END
FROM Employee

参考になれば、幸いです。

ほらあなより愛をこめて
たぬきち