MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQLではisnull()関数をnull値の代わりとして使用することはできません。

次のように:

まず、business という名前のテーブルがあります。

SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2

直接実行するとエラーが発生します:

エラーコード: 1582

ネイティブ関数 'isnull' の呼び出しにおけるパラメータ数が正しくありません

したがって、 isnull()関数は MySQL では機能しません。代わりにifnull()coalesce()使用できます。次のように:

ifnull()関数を使用します。

SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=2

実行結果:


照会された値が null でない場合:

SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=1

結果は次のとおりです。


coalesce()関数を使用します。

SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=2

結果は次のとおりです。


クエリ値が null でない場合:

SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=1 

そのうち、 coalesce()最初の null 以外の値を返すこともできます。次のように:

COALESCE(business_name,district_id,id) を bus_coalesce として business から id=2 として選択します。 

では、MySQL でisnull()を使用するにはどうすればよいでしょうか?答えは where の後に使用されます。次のように:

SELECT * FROM business WHERE ISNULL(business_name)

結果は次のとおりです。


同様に、 is nullis not nullも where の後に使用されます。

SELECT * FROM business WHERE business_name IS NULL

結果は次のとおりです。

SELECT * FROM business WHERE business_name IS NOT NULL 

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

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

<<:  ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

>>:  人気の宇宙飛行士ウォッチフェイスをJavaScriptで実装するための完全なコード

推薦する

CSS3 で複数のカスタムフォントを導入する

今日、HTML に問題を発見しました。多くのデフォルト フォントが提供されていますが、「Bold」、...

Vue プロジェクトでよく使用されるツール機能の概要

目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...

Docker 基本チュートリアル: Dockerfile 構文の詳細な説明

序文Dockerfile は Docker プログラムによって解釈されるスクリプトです。Docker...

ノードスクリプトで自動サインインと抽選機能を実現

目次1. はじめに2. 準備3. スクリプトプロジェクトの構築4. コードの作成と実行5. まとめと...

Node.js における非同期プログラミングの知識ポイントの詳細な説明

導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...

Linux DMAインターフェースの知識ポイントの詳細な説明

1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...

MySQLの自動増分主キーIDはこのように処理されません

MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...

MySQL 8.0 redo ログの詳細な分析

目次序文REDOログの生成REDOログ送信REDOログの保存と通知ユーザースレッドに通知要約する序文...

Windows10 mysql 8.0.12 非インストール版 設定 起動方法

この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...

デジタル時計効果を実現するJavaScript

この記事の例では、JavaScriptでデジタル時計効果を実装するための具体的なコードを参考までに共...

Linux で FastDFS ファイル サーバーを構築するための実装手順

目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...

VScode設定のリモートデバッグLinuxプログラムの問題を解決する

VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

HTMLページのネイティブVIDEOタグはダウンロードボタン機能を隠します

Web プロジェクトを作成しているときに、紹介ビデオが別にある紹介ページに遭遇しました。この短いビデ...