SQL道場 変換関数 COALESCE関数

SQLでNULL値でない最初の値を返すCOALESCE関数について記載しています。

対応データベース:SQLServer MySQL Oracle PostgreSQL DB2 SQLite

COALESCE関数の文法(COALESCE function grammar)

SELECT COALESCE(式1,式2・・・) FROM テーブル
引数式1
式2
返値変換後の値

COALESCE関数は引数の中のNULL値でない最初の値を戻します。指定する引数の型は全て同一である必要があります。

実行例(Execution example)

社員テーブル(employee table)

社員名(EMP_NAME)年齢(EMP_AGE)性別(EMP_SEX)時給(EMP_SALARY)
山田太郎351,000
鈴木花子201,500
null302,500
佐藤梅子40800
ジュン鎌田23800
田中誠二202,500

MySQLの実行例(MySQL Example)

/* MySQL 社員名がNULLの箇所は未入力に変換して表示するサンプル */
SELECT EMP_NAME,COALESCE(EMP_NAME,'未入力') FROM testdb.MST_EMPLOYEE;
MySQL 社員名がNULLの箇所は未入力に変換して表示するサンプル実行結果

SQLServerの実行例(Example of executing SQLServer)

/* SQLServer 社員名がNULLの箇所は未入力に変換して表示するサンプル */

SELECT EMP_NAME,COALESCE(EMP_NAME,'未入力') FROM [testdb].[dbo].[MST_EMPLOYEE];
SQLServer 社員名がNULLの箇所は未入力に変換して表示するサンプル実行結果