mysql 轉換NULL數據方法(必看)
使用mysql查詢數據庫,當執(zhí)行left join時,有些關聯的字段內容是NULL,因此獲取記錄集后,需要對NULL的數據進行轉換操作。
本文將提供一種方法,可以在查詢時直接執(zhí)行轉換處理。使獲取到的記錄集不需要再進行轉換。
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數據方法(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持本站。
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。