MySQL NULLデータ変換方法(必読)

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部にNULLコンテンツが含まれます。そのため、レコード セットを取得した後、NULL データを変換する必要があります。

この記事では、クエリ時に直接変換処理を実行する方法について説明します。取得したレコード セットを再度変換する必要はありません。

mysqlはIFNULL関数を提供する

IFNULL(式1, 式2)

IFNULL() は、expr1 が NULL でない場合は expr1 を返し、それ以外の場合は expr2 を返します。

例:

ユーザーテーブルの構造とデータ

+----+-----------+
| ID | 名前 |
+----+-----------+
| 1 | アビー |
| 2 | デイジー |
| 3 | クリスティン |
+----+-----------+

user_lastlogin テーブルの構造とデータ

+-----+---------------+
| uid | 最終ログイン時刻 |
+-----+---------------+
| 1 | 1488188120 |
| 3 | 1488188131 |
+-----+---------------+

ユーザー名と最終ログイン時間を照会する

mysql> a.id、a.name、b.lastlogintime を user から a として選択し、 user_lastlogin を b として a.id=b.uid に結合します。

+----+-----------+---------------+
| ID | 名前 | 最終ログイン時刻 |
+----+-----------+---------------+
| 1 | アビー | 1488188120 |
| 2 | デイジー | NULL |
| 3 | クリスティン | 1488188131 |
+----+-----------+---------------+

id=2 のユーザーは一度もログインしたことがないため、user_lastlogin テーブルにはレコードがありません。したがって、lastlogintime は NULL です。

IFNULLを使用してNULLを0に変換する

IFNULL(最終ログイン時間, 0)
mysql> a.id、a.name、IFNULL(b.lastlogintime、0) を lastlogintime として選択し、user を a として左から join user_lastlogin を b として a.id=b.uid に結合します。
+----+-----------+---------------+
| ID | 名前 | 最終ログイン時刻 |
+----+-----------+---------------+
| 1 | アビー | 1488188120 |
| 2 | デイジー | 0 |
| 3 | クリスティン | 1488188131 |
+----+-----------+---------------+

上記のMySQLのNULLデータ変換に関する記事(必読)は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLのNULL値の詳しい説明
  • MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法
  • MySQL NULL値処理例の詳細な説明
  • MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

<<:  Nginxのアクセス制限設定の詳細な説明

>>:  Vue フロントエンドと Django バックエンドを使用して、一定期間内のデータをクエリする方法

推薦する

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

MySQL 5.7.18 マスタースレーブレプリケーション設定(マスター 1 台とスレーブ 1 台)チュートリアルの詳細な説明

1. 複製原理マスター サーバーはバイナリ ログ ファイルに更新を書き込み、ログのローテーションを追...

ホームページのデザインはウェブデザイナーのレベルを最もよく反映する

私がこれまで携わってきた多くのプロジェクトでは、基本的に避けられない悪循環がありました。それは、ホー...

Windows Server 2019 で NAS を構成する方法

序文このチュートリアルでは最新バージョンをインストールします。 NAS は非常に安定して動作するので...

表面的なウェブデザイン

<br />私はいつもYahooのウェブデザインが素晴らしいと信じてきました。しかし、こ...

node.js で Web サーバーを作成する手順の詳細な説明

序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...

バックエンド サーバー プロキシとして Nginx を推奨する理由 (理由分析)

1. はじめに実際のサーバーはパブリックインターネットに直接公開されるべきではありません。そうしな...

docker で php+nginx+swoole+mysql+redis 環境を構築する方法

オペレーティングシステム: Alibaba Cloud ESC インスタンス centos7.4ソフ...

jQuery エディタ プラグイン tinyMCE の使い方

簡略化されたファイル サイズを変更し、サンプルをダウンロードします。ファイルをローカル コンピュータ...

html+css3で実装されたログインインターフェース

成果を達成するまずHTMLを使って基本的なフレームワークを構築します <本文> <...

W3C チュートリアル (9): W3C XPath アクティビティ

XPath は、XML ドキュメントの一部を選択するための言語です。 XPath は、XSLT、XQ...

Centos は chrony 時間同期サーバー プロセス図を構築します

私の環境: 3 centos7.5 1804マスター 192.168.100.140ノード1 192...

MySQLのUPDATE文の落とし穴を記録する

背景最近、オンライン操作中に DML ステートメントを実行しました。これは絶対確実だと思っていました...

Vue再帰コンポーネントの簡単な使用例

序文多くの学生は既に再帰に精通していると思います。アルゴリズムの問​​題を解決するために再帰がよく使...

シンプルなカルーセル チャートを実装するための JavaScript の最も完全なコード分析 (ES5)

この記事では、シンプルなカルーセル効果を実現するためのJavaScriptの具体的なコードを参考まで...