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!

推薦閱讀: