SQLのnullの検索と変換のサンプルです。
目次
| サンプル | nullの値を検索する(IS NULL) | 
| nullではない値を検索する(IS NOT NULL) | |
| Oracleでnullを変換(NVLとNVL2) | |
| SQLServerでnullを変換(IsNull) | |
| MySQLでnullを変換(IFNULL) | |
| PostgreSQLでnullを変換(COALESCE) | |
| SQLiteでnullを変換(ifnull) | 
nullの値を検索する(IS NULL)
IS NULLは、nullの値を検索します。
| select * from テーブル名 where 項目名 IS NULL | 
1.列名「romaji」にnullの値がある行を抽出します。
| id | name | romaji | 
|---|---|---|
| 1 | 鈴木 | suzuki | 
| 2 | 田中 | null | 
| 3 | 佐藤 | null | 
2.SQLを実行します。
select * from employee
where romaji IS NULL
3.結果は、以下のとおりです。
| id | name | romaji | 
|---|---|---|
| 2 | 田中 | null | 
| 3 | 佐藤 | null | 
nullではない値を検索する(IS NOT NULL)
IS NOT NULLは、nullではない値を検索します。
| select * from テーブル名 where 項目名 IS NOT NULL | 
1.列名「romaji」にnullではない値がある行を抽出します。
| id | name | romaji | 
|---|---|---|
| 1 | 鈴木 | suzuki | 
| 2 | 田中 | null | 
| 3 | 佐藤 | null | 
2.SQLを実行します。
select * from employee
where romaji IS NOT NULL
3.結果は、以下のとおりです。
| id | name | romaji | 
|---|---|---|
| 1 | 鈴木 | suzuki | 
Oracleでnullを変換(NVLとNVL2)
NVL
| select NVL (列名,文字列1) from ... | 
NVLは、列名の値がnullのとき、文字列1に変換します。
NVL2
| select NVL2 (列名,文字列1,文字列2) from ... | 
NVL2は、列名の値がnullでない場合、文字列1に変換します。
列名の値がnullの場合、文字列2に変換します。
SQLServerでnullを変換(IsNull)
IsNull
| select IsNull(列名,文字列1) from ... | 
IsNullは、列名の値がnullのとき文字列1に変換します。
MySQLでnullを変換(IFNULL)
IFNULL
| select IFNULL(列名,文字列1) from ... | 
IFNULLは、列名の値がnullのとき文字列1に変換します。
PostgreSQLでnullを変換(COALESCE)
COALESCE
| select COALESCE(列名,文字列1) from ... | 
COALESCEは、列名の値がnullのとき文字列1に変換します。
SQLiteでnullを変換(ifnull)
ifnull
| select ifnull(列名,文字列1) from ... | 
ifnullは、列名の値がnullのとき文字列1に変換します。
関連の記事
