mysql 轉(zhuǎn)換NULL數(shù)據(jù)方法(必看)
使用mysql查詢(xún)數(shù)據(jù)庫(kù),當(dāng)執(zhí)行left join時(shí),有些關(guān)聯(lián)的字段內(nèi)容是NULL,因此獲取記錄集后,需要對(duì)NULL的數(shù)據(jù)進(jìn)行轉(zhuǎn)換操作。
本文將提供一種方法,可以在查詢(xún)時(shí)直接執(zhí)行轉(zhuǎn)換處理。使獲取到的記錄集不需要再進(jìn)行轉(zhuǎn)換。
mysql提供了IFNULL函數(shù)
IFNULL(expr1, expr2)
如果expr1不是NULL,IFNULL()返回expr1,否則返回expr2
實(shí)例:
user表結(jié)構(gòu)和數(shù)據(jù)
+----+-----------+ | id | name | +----+-----------+ | 1 | Abby | | 2 | Daisy | | 3 | Christine | +----+-----------+
user_lastlogin表結(jié)構(gòu)和數(shù)據(jù)
+-----+---------------+ | uid | lastlogintime | +-----+---------------+ | 1 | 1488188120 | | 3 | 1488188131 | +-----+---------------+
查詢(xún)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 | +----+-----------+---------------+
因?yàn)閕d=2的用戶(hù)未登入過(guò),所以在user_lastlogin表中沒(méi)有記錄。因此lastlogintime為NULL。
使用IFNULL把NULL轉(zhuǎn)為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 轉(zhuǎn)換NULL數(shù)據(jù)方法(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信