ホームページ  >  記事  >  データベース  >  mysql を使用して NULL データを変換する方法

mysql を使用して NULL データを変換する方法

jacklove
jackloveオリジナル
2018-06-08 17:39:571547ブラウズ

mysql を使用してデータベースにクエリを実行すると、left join が実行されるため、一部の関連するフィールドの内容が NULL になるため、レコードセットを取得した後、NULL データを変換する必要があります。

この記事では、クエリ時に変換処理を直接実行する方法を提供します。取得したレコードセットを変換する必要はありません。
mysql は IFNULL 関数を提供します

IFNULL(expr1, expr2)

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

例:
userTable 構造とデータ

+-----+---------------+| uid | lastlogintime |
+----+-----------+| id | name      |
+----+-----------+|  1 | Abby      |
|  2 | Daisy     ||  3 | Christine |
+----+-----------+


user_lastloginテーブル構造とデータ

+-----+---------------+|   1 |    1488188120 ||   3 |    1488188131 |
+-----+---------------+

ユーザー名とlastlogintimeをクエリ

mysql> select a.id,a.name,b.lastlogintime from user as a left join user_lastlogin as b on a.id=b.uid;
+----+-----------+---------------+| id | name      | lastlogintime |
+----+-----------+---------------+|  1 | Abby      |    1488188120 |
|  2 | Daisy     |          NULL ||  3 | Christine |    1488188131 |
+----+-----------+---------------+

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

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

IFNULL(lastlogintime, 0)
mysql> select a.id,a.name,IFNULL(b.lastlogintime,0) as lastlogintime from user as a left join user_lastlogin as b on a.id=b.uid;
+----+-----------+---------------+| id | name      | lastlogintime |
+----+-----------+---------------+|  1 | Abby      |    1488188120 |
|  2 | Daisy     |             0 ||  3 | Christine |    1488188131 |
+----+-----------+---------------+

この記事では、mysql で NULL データを変換する方法について説明します。関連コンテンツの詳細については、php 中国語 Web サイトを参照してください。

関連する推奨事項:

可変数のパラメータを使用するphp関数に関する関連コンテンツ

phpを介してSina APIを呼び出して短いリンクを生成する方法

mysqlグループ内でソートする方法を説明するグループ別

以上がmysql を使用して NULL データを変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。