MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用してプロセスを制御できます。

1. IF()関数の使用

IF(expr1, expr2, expr3) は、expr1 の値が true の場合は expr2 の値を返し、expr1 の値が false の場合は expr3 の値を返します。

SELECT IF(TRUE,'A','B'); -- 出力: A
SELECT IF(FALSE,'A','B'); -- 出力: B

2. IFNULL()関数の使用

IFNULL(expr1, expr2) は、expr1 の値が null の場合に expr2 の値を返し、expr1 の値が null でない場合は expr1 の値を返します。

例1

      mysql> IFNULL(1,0); を選択します。   
                            -> 1   
      mysql> IFNULL(NULL,10); を選択します。   
                            -> 10   
      mysql> IFNULL(1/0,10)を選択します。   
                            -> 10   
      mysql> IFNULL(1/0, 'yes')を選択します。   
                            ->「はい」  

例2

SELECT IFNULL(NULL,'B'); -- 出力: B
SELECT IFNULL('HELLO','B'); -- 出力: HELLO

3. NULLIF()関数の使用

NULLIF(expr1, expr2)、expr1=expr2 の場合、戻り値は null になり、それ以外の場合は戻り値は expr1 の値になります。

SELECT NULLIF('A','A'); -- 出力: null
SELECT NULLIF('A','B'); -- 出力: A

4. ISNULL()関数の使用

ISNULL(expr) は、expr の値が null の場合は 1 を返し、expr1 の値が null でない場合は 0 を返します。

SELECT ISNULL(NULL); -- 出力: 1
SELECT ISNULL('HELLO'); -- 出力: 0

MySQL の IF()、IFNULL()、NULLIF()、ISNULL() 関数の詳しい使い方については、これで終わりです。MySQL の IF()、IFNULL()、NULLIF()、ISNULL() の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySql での IFNULL、NULLIF、ISNULL の使用法の詳細な説明
  • MySQL プロセス制御 IF()、IFNULL()、NULLIF()、ISNULL() 関数

<<:  Vue のフィルターの適用シナリオの詳細な説明

>>:  Dockerでボリュームを管理する2つの方法

推薦する

実践的な経験を共有するためのコードチェックツールstylelintの紹介

目次序文文章1. stylelintをインストールする2. 設定ファイル3. stylelintを使...

ログインインターフェースの使いやすさとセキュリティのバランスをとる方法

ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...

MySQLで指定した時間前にレコードを自動的に削除する方法

イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間ト...

Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...

SecureCRT に基づくリモート Linux ホストへのファイルのアップロードとダウンロードのグラフィカルな手順

wget や curl ツールを使用して、Linux サーバーで大規模なネットワーク ファイルを直接...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

uniapp プロジェクトの最適化方法と提案

目次1. 複雑なページデータ領域をコンポーネントにカプセル化する2. 大きな画像の使用を避ける3. ...

MySQLの一般クエリログとスロークエリログの分析

MySQL のログには、エラー ログ、バイナリ ログ、一般クエリ ログ、スロー クエリ ログなどが含...

Web コンポーネントの内部イベント コールバックと問題点の分析

目次前面に書かれたWC とは何でしょうか?現在の欠陥1. コンポーネント内部イベントのコールバック2...

vuex での Getter の使用法の詳細な説明

序文Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパテ...

nginx のロードバランシングとリバースプロキシの説明

目次負荷分散負荷分散分類1. DNS 負荷分散2. IP負荷分散3. リンク層の負荷分散4. ハイブ...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

異なるインデックスを更新してMySQLのデッドロックルーチンを解決する

前回の記事では、ソース コードを使用してロック関連の情報をデバッグする方法を紹介しました。ここでは、...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...