MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函式的使用
阿新 • • 發佈:2019-01-10
在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的值。
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