mysql 轉換NULL資料方法

2021-07-27 13:59:08 字數 1838 閱讀 4297

使用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資料方法

使用mysql查詢資料庫,當執行left join時,有些關聯的字段內容是null,因此獲取記錄集後,需要對null的資料進行轉換操作。本文將提供一種方法,可以在查詢時直接執行轉換處理。使獲取到的記錄集不需要再進行轉換。mysql提供了ifnull函式 ifnull expr1,expr2 如果ex...

mysql 轉換NULL資料方法 必看

使用mysql查詢資料庫,當執行left join時,有些關聯的字段內容是null,因此獲取記錄集後,需要對null的資料進行轉換操作。本文將提供一種方法,可程式設計客棧以在查詢時直接執行轉換處理。使獲取到的記錄集不需要再進行轉換。mysql提供了ifnull函式 ifnull expr1,expr...

MySQL資料庫編碼轉換方法

今日在qq群上看到有朋友問mysql編碼轉換問題,所有總結一下我以往轉換的方法,供各位朋友參考 轉換的基本思想是把資料庫用原字符集把資料匯出,然後用新的字符集把資料匯入。今日在qq群上看到有朋友問mysql編碼轉換問題,所有總結一下我以往轉換的方法,供各位朋友參考,如果有更好的辦法也希望大家提供。由...