MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數的使用詳解
在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函數進行流程的控制。
1、IF()函數的使用
IF(expr1,expr2,expr3),如果expr1的值為true,則返回expr2的值,如果expr1的值為false,則返回expr3的值。
SELECT IF(TRUE,'A','B'); -- 輸出結果:A SELECT IF(FALSE,'A','B'); -- 輸出結果:B
2、IFNULL()函數的使用
IFNULL(expr1,expr2),如果expr1的值為null,則返回expr2的值,如果expr1的值不為null,則返回expr1的值。
例1
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'
例2
SELECT IFNULL(NULL,'B'); -- 輸出結果:B SELECT IFNULL('HELLO','B'); -- 輸出結果:HELLO
3、NULLIF()函數的使用
NULLIF(expr1,expr2),如果expr1=expr2成立,那麼返回值為null,否則返回值為expr1的值。
SELECT NULLIF('A','A'); -- 輸出結果:null SELECT NULLIF('A','B'); -- 輸出結果:A
4、ISNULL()函數的使用
ISNULL(expr),如果expr的值為null,則返回1,如果expr1的值不為null,則返回0。
SELECT ISNULL(NULL); -- 輸出結果:1 SELECT ISNULL('HELLO'); -- 輸出結果:0
到此這篇關於MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數的使用詳解的文章就介紹到這瞭,更多相關MySQL中IF()、IFNULL()、NULLIF()、ISNULL()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MySQL流程控制IF()、IFNULL()、NULLIF()、ISNULL()函數的使用
- MySQL如何判斷字符串為NULL或者為空字符串
- SQL中ISNULL函數使用介紹
- MySQL控制流函數(-if ,elseif,else,case…when)
- MySQL ifnull()函數的具體使用