透過mysql 轉換NULL資料方法

jacklove
發布: 2018-06-08 17:39:57
原創
1616 人瀏覽過

使用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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板