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に変換します。
関連の記事