首頁  >  文章  >  資料庫  >  透過mysql 轉換NULL資料方法

透過mysql 轉換NULL資料方法

jacklove
jacklove原創
2018-06-08 17:39:571601瀏覽

使用mysql查詢資料庫,當執行left join時,有些關聯的欄位內容是NULL,因此取得記錄集後,需要對NULL的資料進行轉換操作。

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

IFNULL(expr1, expr2)

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

實例:
user表格結構與資料

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

  
user_lastlogin表格結構與資料

+-----+---------------+|   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資料方法 ,更多相關內容請關注php中文網。

相關推薦:

關於php 函數使用可變數量的參數的相關內容

如何通過php 呼叫新浪API產生短連結

#說mysql group by 群組內排序的方法

以上是透過mysql 轉換NULL資料方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn