SQL道場 変換関数 NULLIF関数
SQLで2つの引数が等しい場合にはNULLを返すNULLIF関数について記載しています。
対応データベース:SQLServer MySQL Oracle PostgreSQL DB2 SQLite
NULLIF関数の文法
SELECT NULLIF(式1,式2) FROM テーブル
SELECT NULLIF (Equation 1, Equation 2) FROM table
引数 | 式1(Formula 1) | |
式2(Formula 2) | ||
返値 | 式1、式2が等しい場合はNULLが戻ります。 式1、式2が等しくない場合は式1がそのまま戻ります。 |
NULLIF関数は2つの引数が等しい場合にNULLを返します。式1、式2が等しい場合はNULLが戻ります。式1、式2が等しくない場合は式1がそのまま戻ります。
実行例
社員テーブル
社員名(EMP_NAME) | 年齢(EMP_AGE) | 性別(EMP_SEX) | 時給(EMP_SALARY) |
---|---|---|---|
山田太郎 | 35 | 男 | 1,000 |
鈴木花子 | 20 | 女 | 1,500 |
竹下次郎 | 30 | 男 | 2,500 |
佐藤梅子 | 40 | 女 | 800 |
ジュン鎌田 | 23 | 男 | 800 |
田中誠二 | 20 | 男 | 2,500 |
MySQLの実行例
/* MySQL 「社員名」の列の値が「山田太郎」の場合はNULLを返すサンプル */
SELECT EMP_NAME,NULLIF(EMP_NAME,'山田太郎') FROM testdb.MST_EMPLOYEE;
SQLServerの実行例
/* SQLServer 「社員名」の列の値が「山田太郎」の場合はNULLを返すサンプル */
SELECT EMP_NAME,NULLIF(EMP_NAME,'山田太郎') FROM [testdb].[dbo].[MST_EMPLOYEE];