logo

MySQL IFNULL()

このセクションは、MySQL IFNULL() 関数について学習するのに役立ちます。 IFNULL 関数は、NULL 値の処理に使用される MySQL 制御フロー関数の一部です。

IFNULL 関数は 2 つの式を受け入れます。最初の式が nullではない 、最初の引数を返します。最初の式が次の場合 ヌル の場合、2 番目の引数を返します。この関数は、使用されるコンテキストに応じて、文字列または数値のいずれかを返します。

構文

IFNULL 関数は次の構文で使用できます。

 IFNULL (Expression1, Expression2) 

Expression1 が null でない場合は、expression1 を返します。それ以外の場合は、expression2 が返されます。

パラメーター

パラメータ 要件 説明
式1 必須 この式は、NULL かどうかを確認するために使用されます。
式2 必須 式 1 が NULL の場合に戻ります。

MySQL バージョンのサポート

IFNULL 関数は、次の MySQL バージョンをサポートできます。

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

次の例で MySQL IFNULL() 関数を理解しましょう。 IFNULL 関数を次のように使用できます。 選択する 直接の発言。

例1

 SELECT IFNULL(0,5); 

上記の関数では、MySQL ステートメントは最初の式をチェックします。最初の式が NULL でない場合は、最初の式 (ゼロ) が返されます。

出力:

 0 

例 2

 SELECT IFNULL('Hello', 'javaTpoint'); 

上記の MySQL ステートメントは最初の式をチェックします。最初の式が NULL でない場合は、最初の式が返されます。 'こんにちは' 価値。

出力:

 Hello 

例 3

 SELECT IFNULL(NULL,5); 

次の MySQL ステートメントは最初の式をチェックします。最初の式が NULL でない場合は、最初の式が返されます。それ以外の場合は、2 番目の式 (5) が返されます。

出力:

 5 

例 4

ここではテーブルを作成していきます 「学生の連絡先」 そしてIFNULL()関数を実行します。

 CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, ); 

次に、テーブルにデータを挿入する必要があります。テーブルに値を挿入した後、次のクエリを実行します。

 SELECT contactname, cellphone, homephone FROM student_contacts; 

すべての行と列を含む出力が表示されます。ここでは、一部の連絡先が携帯電話または自宅の電話番号しか持っていないことがわかります。

MySQL IFNULL

上記の出力では、すべての連絡先名、天気予報携帯電話、自宅の電話番号が利用可能かどうかを取得します。したがって、その場合、IFNULL() 関数が重要な役割を果たします。

ここで、次の MySQL クエリを実行します。このステートメントは、 自宅の電話 携帯電話が NULL の場合は番号。

 SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact; 

出力:

上記の MySQL ステートメントが正常に実行されると、次の出力が得られます。

MySQL IFNULL

注: IFNULL() 関数を使用するとクエリのパフォーマンスが低下するため、WHERE 句での IFNULL() 関数の使用は避けてください。