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 の動的データバインディングのケーススタディ

推薦する

一定時間後にNavicatがデータベースから自動的に切断される問題の解決方法

これは、データベース サーバーが、接続が多すぎるのを避けるために、一定時間非アクティブな状態が続くと...

Windows での MySQL 8.0.11 インストール チュートリアル

この記事は、WindowsでのMySQL 8.0.11のインストールチュートリアルを記録しています。...

ハイパーリンクを表示して開く方法

<br />インターネット上の無数の情報は基本的に HTML ドキュメントで構成されてお...

Dockeにredisをインストールする方法

1. redisイメージを検索する docker 検索 redis 2. Redisイメージをダウン...

Linux での Hbase のインストールと設定のチュートリアル

目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

JavaScript でイベントのバブリングを防ぐ方法

注意すべき点は、イベントバブリング自体の特性上、メリットだけでなくデメリットも生じるということです。...

Linux での MySQL の文字化け問題の解決方法

プロジェクトはサーバーと対話し、post を通じてサーバー側の jsp にアクセスし、jsp はサー...

IDEA の Docker プラグインを介して SpringBoot プロジェクトをデプロイするプロセスの詳細な説明

1. Dockerリモート接続ポートを設定するサーバー上の docker.service ファイルを...

CentOs システムで Python と yum をアンインストールするソリューション

事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...

userdel コマンドを使用して Linux ユーザーを削除する方法の詳細なチュートリアル

セルデルとは何かuserdel は、ユーザーを削除するための低レベルのツールです。 Debian で...

JavaScriptでページスクロールアニメーションを実装する

目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...

Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証...