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

推薦する

Dockerコンテナが停止できない問題の解決方法

解決策は次のとおりです。 1. コンテナを強制削除する docker rm -f ジェンキンス2. ...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

CSSの記述形式、モバイルページの基本構造の詳細な説明

1. CSSの記述形式1. インラインスタイルCSSコードを開始タグに直接記述することができます&l...

Vue開発の一般的な手法の詳細な説明

目次$nextTick() $forceUpdate() $セット() .sync——2.3.0 以...

Vueはマルチタブコンポーネントを実装します

効果を直接確認するために、リロード、左を閉じる、右を閉じる、その他の機能を閉じるなどの右クリック メ...

MySql テーブル、データベース、シャーディング、パーティショニングの知識ポイントの紹介

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

CSSでイメージマッピングを実装する方法

1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...

ウェブデザインの仕事に応募する方法

<br />みなさんこんにちは!ここで皆さんとチャットできて光栄です! (*^__^*)...

HTML チュートリアル: title 属性と alt 属性

XHTML は CSS レイアウトの基礎です。jb51.net は常に XHTML 知識の習得を重視...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

フロントエンドセキュリティの詳細な説明: JavaScript の http ハイジャック対策と XSS

目次HTTP ハイジャック、DNS ハイジャック、XSS HTTPハイジャックDNSハイジャックXS...

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

CSS3 タイムラインアニメーション

成果を達成する html <h2>CSS3 タイムライン</h2> <...

MySQL 5.7.20 zip インストール チュートリアル

MySQL 5.7.20 zipインストール、具体的な内容は次のとおりです(1)圧縮パッケージを解凍...