SQL道場 変換関数 COALESCE関数

最終更新日

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

Describes the COALESCE function, which returns the first non-null value in SQL.

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

COALESCE関数の文法(COALESCE function grammar)

SELECT COALESCE(式1,式2・・・) FROM テーブル
SELECT COALESCE (Equation 1, Equation 2 ・・・) FROM table
引数
Arguments
式1
Formula 1
式2
Formula 2
返値
return value
変換後の値
converted value

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

The COALESCE function returns the first non-null value in its arguments. All arguments must be of the same type.

実行例(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の箇所は未入力に変換して表示するサンプル */
/ * Sample to display MySQL employee names converted to null * /
SELECT EMP_NAME,COALESCE(EMP_NAME,'未入力') FROM testdb.MST_EMPLOYEE;
MySQL 社員名がNULLの箇所は未入力に変換して表示するサンプル実行結果

SQLServerの実行例(Example of executing SQLServer)

/* SQLServer 社員名がNULLの箇所は未入力に変換して表示するサンプル */
/* SQLServer-employee-name-is-null-is-converted-to-be-displayed sample */

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

すなりん

サイトの管理者「すなりん」です。現役のシステムエンジニアをしてます。要件定義からテスト、プロジェクトマネージャー、顧客調整、社内インフラなんでもこなします。いわゆるフルスタック・エンジニアです。 仕事柄色んな技術や製品を扱うことが多く、なかなか覚えているもの大変ですし、しばらくすると忘れてしまうことが多いので、自分なりの形で技術情報やIT関係の情報を掲載しています。 個人で仕事の合間をみながら記事の投稿やサイトを更新していますので、誤字や間違った内容があったりもしますので、閲覧者はご理解の上ご利用ください。