使用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中文網。
相關推薦:
以上是透過mysql 轉換NULL資料方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!