MySQL中的if和case用法

来源:互联网 发布:潘多拉克隆mac地址 编辑:程序博客网 时间:2024/05/16 01:03

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;
原创粉丝点击