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 8.0.12 winx64 詳細なインストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

音楽プレーヤーアプリ(アプリケーションソフトウェア)の分析と再設計 美しい音楽プレーヤーインターフェースの設計方法

無線インタラクションにずっと興味があったので、今回は実践してみようと思います〜この分析と評価は iO...

MySQL データベースのインデックス順序の詳細な説明

目次事件の原因解剖学ファイルの並べ替えファイルのソートが非常に遅いのですが、他に解決策はありますか?...

詳細なLinuxインストールチュートリアル

(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...

Vueライフサイクルカメラの8つのフック関数

目次1. beforeCreateとcreated関数2. beforeMountとmount関数3...

Linux システム修復モード (シングル ユーザー モード)

目次序文1. シングルユーザーモードでの一般的なバグ修正2. シングルユーザーモードでシステムパスワ...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...

Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル

目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...

Docker+Nginx を使ってシングルページアプリケーションをデプロイする

開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...

虫眼鏡コンポーネントのネイティブ js 実装

この記事の例では、参考までに虫眼鏡コンポーネントを開発するためのjsの具体的なコードを共有しています...

Linux サーバーは最大いくつのポートを開くことができますか?

目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...

JS addEventListener() およびattachEvent() メソッドは登録イベントを実装します

JavaScript の DOM イベント モデルでは、オブジェクトの addEventListen...