MySQL的IF既可以作为表达式用,可在存储过程中作为流程控制语句使用。
1、IF表达式
IF(expr1,expr2,expr3)
expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。
IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定
SELECT IF(sex=1,"男","女") AS s FROM t_user;
2、CASE WHEN表达式:
SELECT CASE sexWHEN 1 THEN '男' ELSE '女' END AS s FROM table_nameWHERE sex != '';
3、IFNULL表达式
IFNULL(expr1,expr2)
expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境
SELECT IFNULL(2,0); -> 2SELECT IFNULL(NULL,1); -> 1SELECT IFNULL(1/0,'ok');-> 'ok'
来源地址:https://blog.csdn.net/gnwu1111/article/details/128592381