SQLite,データがNULLか判別する

スポンサーリンク

鍛錬 70

SQLite,データがNULLか判別する

データが NULL か判別するには、ISNULL を使用します。
 
使用方法は、以下に示す通りです。

NULL の項目のみを表示

select カラム名 from データベース名 where カラム名 ISNULL;

 
NULL ではない項目を表示

select カラム名 from データベース名 where not カラム名 ISNULL;
スポンサーリンク

サンプルデータ

以下は、今回使用するサンプルデータ、fruits.db です。

sqlite> 
sqlite> .schema fruits_data
CREATE TABLE fruits_data(id integer, fruits_name text, price integer);
sqlite> 
sqlite> 
sqlite> select * from fruits_data;
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
3    grape         500   
4    banana        350   
5    peach         NULL
スポンサーリンク

実行結果

以下は、データが NULL か判別しています。

NULL の項目のみを表示

以下は、ISNULL を使用して NULL の項目のみを表示しています。

sqlite> 
sqlite> select * from fruits_data;
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
3    grape         500   
4    banana        350   
5    peach         NULL  
sqlite> 
sqlite> 
sqlite> select * from fruits_data where price ISNULL;
id   fruits_name   price 
---  ------------  ------
5    peach         NULL

 
上記に示した通り、id = 5, fruits_name = peach の price が NULL であることが確認できました。

NULL ではない項目を表示

前述した内容とは逆の、データが NULL ではない項目を確認するには、以下に示す通り not を付加します。

sqlite> 
sqlite> select * from fruits_data;
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
3    grape         500   
4    banana        350   
5    peach         NULL  
sqlite> 
sqlite> 
sqlite> select * from fruits_data where not price ISNULL;
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
3    grape         500   
4    banana        350

 
上記に示した通り、NULL ではない項目を表示することができました。

タイトルとURLをコピーしました