MySQLのisnull関数の使用方法
MySQLのISNULL()関数は、式がNULLかどうかを判定し、真偽値を返します。ISNULL()関数の書式は次のとおりです。
- ISNULL(式):式がNULLか確認し、NULLの場合は1を、そうでない場合は0を返します。
- ISNULL(式、値): 式がNULLであれば値を返し、それ以外の場合は式自体の値を返します。
例えば、顧客情報テーブル customers を考えます。このテーブルには列 customer_id と customer_name があり、一部の行の customer_name が NULL になっているとします。次の例では、ISNULL() 関数を使用して、欠損値を処理する方法を説明します。
- 顧客ID、顧客名が存在しない場合はNULLをISNULLで指定して顧客テーブルから選択する
customer_idとis_nullの2つの列が含まれる結果セットを返します。customer_nameがNULLかどうかを表すis_null列には1または0が含まれます。
- SELECT customer_id, ISNULL(customer_name, ‘不明’) AS customer_name FROM customers;
customer_idとcustomer_nameの2カラムを含む結果セットを返します。customer_nameカラムにはcustomer_nameの値が含まれ、customer_nameがNULLの場合は’N/A’に置き換えられます。
なお、MySQLではISNULL()関数は非標準関数です。MySQLでは通常、IFNULL()関数で式がNULLかどうかを判断します。