程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 轉換NULL數據方法(必看)

mysql 轉換NULL數據方法(必看)

編輯:MySQL綜合教程

mysql 轉換NULL數據方法(必看)。本站提示廣大學習愛好者:(mysql 轉換NULL數據方法(必看))文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 轉換NULL數據方法(必看)正文


使用mysql查詢數據庫,當執行left join時,有些關聯的字段內容是NULL,因此獲取記錄集後,需要對NULL的數據進行轉換操作。

本文將提供一種方法,可以在查詢時直接執行轉換處理。使獲取到的記錄集不需要再進行轉換。

mysql提供了IFNULL函數

IFNULL(expr1, expr2)

如果expr1不是NULL,IFNULL()返回expr1,否則返回expr2

實例:

user表結構和數據

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

user_lastlogin表結構和數據

+-----+---------------+
| uid | lastlogintime |
+-----+---------------+
|  1 |  1488188120 |
|  3 |  1488188131 |
+-----+---------------+

查詢user的name與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數據方法(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved