Mysql中的if既可以作为表达式使用,也可以在存储过程中作为流程控制语句使用。
IF表达式
IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1 <> 0 and expr1 <> NULL),则if()的返回值为expr2,否则为expr3。
select *,if(sva=1,"男","女")as sva from tab;
作为表达式的if也可以用case when来实现
select case sva when 1 then '男' when 2 then '女' else '未知' end as sva from tab;
如果case有when后面的匹配值则返回then的值,否则返回else的值,如果没有else部分,则返回NULL。
IFNULL(expr1,expr2)
如果expr1不为NULL,则返回值是expr1;否则返回expr2。
IF ELSE 作为流程控制语句使用
IF search_condition Then
statement_list
[ELSEIF search_condition Then]
[ELSE
statemeny_list]
END IF;
本文介绍了MySQL中IF表达式及流程控制语句的使用方法,包括IF(expr1,expr2,expr3)表达式、IFNULL(expr1,expr2)函数以及IF作为流程控制语句的应用。此外还对比了IF表达式与CASE WHEN语句的不同之处。
384

被折叠的 条评论
为什么被折叠?



