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) |
---|---|---|---|
山田太郎 | 35 | 男 | 1,000 |
鈴木花子 | 20 | 女 | 1,500 |
null | 30 | 男 | 2,500 |
佐藤梅子 | 40 | 女 | 800 |
ジュン鎌田 | 23 | 男 | 800 |
田中誠二 | 20 | 男 | 2,500 |
MySQLの実行例(MySQL Example)
/* MySQL 社員名がNULLの箇所は未入力に変換して表示するサンプル */
SELECT EMP_NAME,COALESCE(EMP_NAME,'未入力') FROM testdb.MST_EMPLOYEE;

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