値が NULL のとき、別の値に変換するには COALESCE 関数を使用します。
COALESCE関数の使い方
COALESCE 関数は 引数に渡された値が NULLか判定を行い、最初に登場する NULL以外 の値を返します。SELECT COALESCE(項目名, NULL のときに返したい値) FROM テーブル名;
SELECT COALESCE(項目名1, 項目名2, 項目名3 ... , NULL のときに返したい値) FROM テーブル名;
- COALESCE は複数の項目を渡せます。左側から順番に値がチェックされ、最初に登場する 「NULL ではない値」が返されます。
COALESCE関数の使用例
SELECT COALESCE(NULL, 100);
-> 結果 = 100
※200 ではなく、100 が返ります。
SELECT COALESCE(NULL, NULL, 100, 200);
-> 結果 = 100
検証環境
- PostgreSQL 13.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424, 64-bit
- pgAdmin4 Version 5.6
- Docker image: postgres:13-alpine
- Docker image: dpage/pgadmin4
- Docker Desktop 3.6.0(67351)
- Docker Engine 20.10.8
- Docker Compose 1.29.2
- Microsoft Windows 10 Pro Version 21H1 OS Build 19043.1165 Experience: Windows Feature Experience Pack 120.2212.3530.0
- PostgreSQL 12.2, compiled by Visual C++ build 1914, 64-bit
- Microsoft Windows 10 Pro Version 1909 OS Build 18363.1171