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

推薦する

spanタグのスタイルに幅属性を設定する方法

span タグのスタイルに width 属性を直接設定すると、効果がないことがわかります。 disp...

コード例を通してページ置換アルゴリズムの原理を理解する

ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...

Vueルーティングナビゲーションガードの簡単な理解

目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...

CSSは、マウスを線の上に置くと線全体の色を変える効果を実現します。

まとめ:以下のように、CSS で指定した行にマウスを置いたときに行全体の色を変更する方法を示します。...

MYSQLクエリデータの結果に自動的に番号を付ける方法

序文実際、クエリ中に結果に番号が付けられるこのような状況に遭遇したことは一度もありません。同僚が転職...

Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順

Centos7 の yum ソースには、mysql の代わりに mariaDB が使用されているため...

MySQL の分離レベル、ロック、MVCC の紹介

この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...

CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します

1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...

MySQL マスターとスレーブの不整合とその解決策の詳細な説明

1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...

Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

目次Viteプロジェクトを作成するコンポーネントの作成Viteプロジェクトを作成するパフォーマンスが...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?ネットワークファイルシステムネットワーク上でファイルを保存および整理するための...

CSSラベル表示モードについて1つの記事で学ぶ

タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...

LinuxでIPを表示する方法の例

ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...

CSS が最初のサイクルで画像を読み込むために @keyframes を使用するときに発生するホワイトギャップの問題 (フラッシュ画面) をすばやく解決します。

問題の説明: CSS アニメーション プロパティを使用すると、ループが最初に読み込まれたときに白いギ...