通過mysql 轉換NULL數據方法

使用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 函數使用可變數量的參數的相關內容

關于php 函數使用可變數量的參數的相關內容

以上就是通過

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享