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で実装するための完全なコード

推薦する

MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

目次1. データベース設計の3つのパラダイムに関する知識の説明1. デザインパラダイムとは何ですか?...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

CentOS7 ファイアウォールとポート関連コマンドの紹介

目次1. ファイアウォールの現在の状態を確認する2. ファイアウォールサービスを開始する3. ファイ...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...

MySQL 完全折りたたみクエリ正規マッチングの詳細な説明

概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...

MySQL の中国語ソートの詳細と例

MySQL の漢字ソートの詳細な説明デフォルトでは、MySQL は日付、時刻、および英語の文字列の並...

MySQLにおける遅いSQLの最適化の方向性について詳しく話しましょう

目次序文SQL文の最適化遅いクエリSQLを記録する設定を変更する方法スロークエリログを表示するSQL...

MYSQLストアドプロシージャ、つまり一般的な論理知識のポイントの要約

MySQL ストアド プロシージャ1. ストアドプロシージャ構文(フォーマット)を作成する 区切り文...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...

JavaScript デザインパターン 責任連鎖パターン

目次概要コードの実装パラメータ定義成し遂げる責任連鎖パターンの実装改善概要責任チェーン パターンは、...

RGBAアルファ透明度変換計算表

IEでのRGBAとフィルター値の変換RGBA 透明度値IE フィルター値0.1 19 0.2 33 ...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

MySQL エラー: 接続数が多すぎる場合の解決策

MySQLデータベースの接続が多すぎますこのエラーは明らかに、mysql_connect の後に m...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...