トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
2-1-4 連続したnullチェック
SQLパズル
nullTable
Col1 Col2 Col3 Col4
---- ---- ---- ----
1 2 3 4
1 2 3 null
null 2 3 4
null null null null
テーブルのCol1、Col2、Col3、Col4を取得する。
ただしCol1、Col2、Col3、Col4が全てnullなら取得しない
出力結果
Col1 Col2 Col3 Col4
---- ---- ---- ----
1 2 3 4
1 2 3 null
null 2 3 4
データ作成スクリプト
create table nullTable(Col1,Col2,Col3,Col4) as
select 1,2,3,4 from dual union
select 1,2,3,null from dual union
select null,2,3,4 from dual union
select null,null,null,null from dual;
SQL
select Col1,Col2,Col3,Col4
from nullTable
where coalesce(Col1,Col2,Col3,Col4) is not null;
解説
coalesce関数は、連続したnullチェックに使えます。
coalesce関数の引数は、データ型が全て同じでないとエラーになるので、
場合によっては、to_char関数を使うといいでしょう。
10-175 少なくとも1つがnullかをチェック