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