共計 1101 個字符,預計需要花費 3 分鐘才能閱讀完成。
本篇內容主要講解“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函數”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函數”吧!
一、IFNULL 用法
1.1 IFNULL(expr1,expr2) 用法
假如 expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。IFNULL() 的返回值是數字或是字符串,具體情況取決于其所使用的語境。
mysql SELECT IFNULL(1,0);
– 1
mysql SELECT IFNULL(NULL,10);
– 10
mysql SELECT IFNULL(1/0,10);
– 10
mysql SELECT IFNULL(1/0, yes
– yes
IFNULL(expr1,expr2)的默認結果值為兩個表達式中更加“通用”的一個,順序為 STRING、REAL 或 INTEGER。
1.2 isnull(expr) 的用法:
如 expr 為 null,那么 isnull() 的返回值為 1,否則返回值為 0。
mysql select isnull(1+1);
– 0
mysql select isnull(1/0);
– 1
使用 = 的 null 值對比通常是錯誤的。
isnull() 函數同 is null 比較操作符具有一些相同的特性。請參見有關 is null 的說明。
二、ISNULL(expr) 的用法
如 expr 為 null,那么 isnull() 的返回值為 1,否則返回值為 0。
mysql select isnull(1+1);
– 0
mysql select isnull(1/0);
– 1
使用 = 的 null 值對比通常是錯誤的。
三、NULLIF(expr1,expr2)用法
如果 expr1 = expr2 成立,那么返回值為 NULL,否則返回值為 expr1。這和 CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END 相同。
mysql SELECT NULLIF(1,1);
– NULL
mysql SELECT NULLIF(1,2);
– 1
如果參數不相等,則 MySQL 兩次求得的值為 expr1。
到此,相信大家對“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函數”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!