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

推薦する

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

Linux のユーザーとグループ管理によく使われるコマンドの概要

この記事では、Linux のユーザーとグループの管理によく使用されるコマンドをまとめます。ご参考まで...

flexとは何か、flexレイアウト構文の詳細なチュートリアル

フレックスレイアウトFlex は Flexible Box の略で、「柔軟なレイアウト」を意味します...

Vueはファイルのアップロードとダウンロードを実装します

この記事では、参考までにVueのファイルのアップロードとダウンロードの具体的なコードを紹介します。具...

phpmyadmin を使用して MySQL 権限を設定する方法

目次ステップ 1: root ユーザーとしてログインします。ステップ 2: 新しいデータ テーブルを...

単一の Nginx IP アドレスに複数の SSL 証明書を設定する例

デフォルトでは、Nginx は IP アドレスごとに 1 つの SSL 証明書のみをサポートします。...

ドラッグ効果を実現するための js オブジェクト指向メソッド

この記事では、ドラッグアンドドロップをJSオブジェクト指向で実装するための具体的なコードを参考までに...

JS を使って CSS3 で丸い角を実装する方法

IE で CSS3 を使用して角を丸くする方法を探していたときに、例を見つけました。まだテストして...

HTML テーブルタグチュートリアル (3): 幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、テーブルの幅と高さはコンテンツに応じて自動的に調整されます。テーブルの幅と高さを手動...

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

目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...

MySQLのダウンロードとインストールのプロセスの詳細な説明

1: MySqlをダウンロードする公式サイトのダウンロードアドレス: https://dev.mys...

Linux ファイルディレクトリ管理コマンドの概要

タッチコマンドこれには 2 つの機能があります。1 つは、既存のファイルの時間タグを現在のシステム時...

JavaScript関数の詳細な説明これを指す問題

目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...

Docker execは複数のコマンドを実行します

docker exec コマンドは、実行中のコンテナ内でコマンドを実行できます。 docker ex...

MySQL RouterはMySQLの読み取りと書き込みの分離を実装します

目次1. はじめに2. MySQLルーターを構成する2.1 MySQLルーターのインストール2.2 ...