在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
SELECT IF(TRUE,'A','B'); -- 输出结果:A SELECT IF(FALSE,'A','B'); -- 输出结果:B
IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。
SELECT IFNULL(NULL,'B'); -- 输出结果:B SELECT IFNULL('HELLO','B'); -- 输出结果:HELLO
NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。
SELECT NULLIF('A','A'); -- 输出结果:null SELECT NULLIF('A','B'); -- 输出结果:A
ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。
SELECT ISNULL(NULL); -- 输出结果:1 SELECT ISNULL('HELLO'); -- 输出结果:0
更多关于NULL()函数参考:
MySQL IFNULL() 函数 | 菜鸟教程 (runoob.com)