SQL的IF使用

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 sex
WHEN 1 THEN '男' 
  ELSE '女' 
END AS s 
FROM table_name
WHERE sex != '';

3、IFNULL表达式

IFNULL(expr1,expr2)

expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境

 SELECT IFNULL(2,0);
 -> 2

SELECT IFNULL(NULL,1);
 -> 1

SELECT IFNULL(1/0,'ok');
-> 'ok'

猜你喜欢

转载自blog.csdn.net/gnwu1111/article/details/128592381