MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

IFNULL(式1,式2)

expr1 が NULL でない場合、IFNULL() は expr1 を返し、それ以外の場合は expr2 を返します。 IFNULL() は、使用されるコンテキストに応じて数値または文字列値を返します。

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

expr1 が TRUE (expr1<>0 かつ expr1<>NULL) の場合、IF() は expr2 を返し、それ以外の場合は expr3 を返します。 IF() は、使用されるコンテキストに応じて数値または文字列値を返します。

mysql> IF(1>2,2,3) を選択します。
    -> 3
mysql> IF(1<2,'はい','いいえ'); を選択します。
    ->「はい」
mysql> IF(strcmp('test','test1'),'yes','no') を選択します。
    -> 'いいえ'

expr1 は整数値として評価されます。つまり、浮動小数点値または文字列値をテストする場合は、比較演算子を使用する必要があります。

mysql> IF(0.1,1,0); を選択します。
    -> 0
mysql> IF(0.1<>0,1,0); を選択します。
    -> 1

上記の最初のケースでは、0.1 が整数値に変換され、テスト IF(0) の結果となるため、IF(0.1) は 0 を返します。これはあなたが期待していたものではないかもしれません。 2 番目のケースでは、比較によって元の浮動小数点値がゼロ以外であるかどうかがテストされ、比較の結果が整数として使用されます。

CASE 値 WHEN [比較値] THEN 結果 [WHEN [比較値] THEN 結果 ...] [ELSE 結果] END 
  
CASE WHEN [条件] THEN 結果 [WHEN [条件] THEN 結果 ...] [ELSE 結果] END 

最初のバージョンは、値 = 比較値である結果を返します。 2 番目のバージョンは、最初の条件が true の場合に結果を返します。一致する結果値がない場合、ELSE の後の結果が返されます。 ELSE 部分がない場合、NULL が返されます。

mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
    -> 「1」
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
    -> 「本当」
mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
-> NULL

上記は、nvl() 関数に似た MySQL の ifnull() 関数についての簡単な説明です。私が皆さんに伝えたいのはこれだけです。皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • MySql における無効な Null セグメント判定と IFNULL() 失敗の解決策
  • MySQL IFNULL判定問題の解決方法
  • MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ
  • MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明
  • MySql での IFNULL、NULLIF、ISNULL の使用法の詳細な説明
  • SQL Server の ISNULL 関数と MySQL の IFNULL 関数の使用法について簡単に説明します。
  • MySQL の IFNULL、IF、CASE の違いの紹介
  • MySQL ifnull のネスト使用手順

<<:  Ubuntu 16.04 で PostgreSQL の起動を設定する方法

>>:  Vue での this.$set の動的データバインディングのケーススタディ

推薦する

データベース復旧エラーの原因となる MySQL 文字セットの簡単な分析

MySQL の文字セットエンコーディングが正しくないデータをインポートすると、エラーが表示されます。...

最新の JavaScript で非同期タスクを書く方法

序文この記事では、非同期 JavaScript の進化と、それがコードの記述方法にどのような変化をも...

W3C チュートリアル (11): W3C DOM アクティビティ

ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...

APPログインインターフェースシミュレーション要求を実装するためのPostmanデータ暗号化と復号化

目次主に使用されるPostmanの機能データの暗号化と復号化さまざまなパラメータ設定実際に送信された...

Mysql 5.7.18 MySQL proxies_priv を使用して同様のユーザーグループ管理を実装する

MySQL proxies_priv(シミュレートされたロール)を使用して同様のユーザーグループ管理...

PHP スケジュールバックアップ MySQL および mysqldump 構文パラメータの詳細

まず、MySQL バックアップ コマンド mysqldump の一般的な操作例をいくつか紹介します。...

MySQL ストレージ エンジンの基礎

前回の記事では、MySQL トランザクションについて説明しました。これで、MySQL トランザクショ...

Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル

1. Webプロジェクトを作成したら、Tomcatを例にサーバーを構成する必要があります。 2. 実...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

JavaScript の重要なブレークポイント デバッグ手法の概要 (推奨)

目次デバッガーを使用する理由は何ですか? Chromeデバッガーの基本的な使い方VS Code によ...

史上最も便利な Zookeeper サーバーの構築方法 (推奨)

ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...

Vue カスタム箇条書きボックス効果 (確認ボックス、プロンプトボックス)

この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...

HTMLフォーム要素の詳しい解説(パート1)

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...

JavaScript でローカル変数をグローバル変数に変換する方法

まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...

Docker を使用して ELK 環境を迅速にデプロイする方法の詳細な説明 (最新バージョン 5.5.1)

Linux サーバーに Docker をインストールした後、関連する公式 Docker イメージを...