Mysql IF相关函数的使用

IF()函数

if函数可以在sql中使用 也可以在存储过程中控制语句流程

在sql中IF(expr1,expr2,expr3) 如果expr1条件为true/不为0/不为null 返回expr2 否则 返回expr3;
select IF(gender == 1, ‘男’, ‘女’) as gender from user;
同样的功能 用CASE WHEN 也可以实现
select CASE gender WHEN 1THEN '男’ELSE ‘女’ END as gender from user;
CASE expr1 WHEN 1 THEN ‘a’ WHEN 2 THEN ‘b’ ELSE ‘c’ END
在存储过程中
IF condition1 THEN
执行的语句1
ELSEIF condition2 THEN
执行的语句2
ELSE
执行的语句3
END IF

IFNULL()函数

IFNULL(expr1,expr2) 如果expr1不为空,返回expr1 为空则返回expr2
IF(null,1) 返回1
IF(1,2) 返回1

NULLIF()函数

NULLIF(expr1,expr2) 如果expr1=expr2 返回null 如果expr1 != expr2 返回expr1
NULLIF(‘a’,‘a’) 返回null
NULLIF(‘a’,‘b’) 返回a

ISNULL()函数

写到了null就把isnull()判断也加上吧
ISNULL(expr1) expr1为空 返回1 不为空 返回0
ISNULL(NULL) 返回1
ISNULL(‘A’) 返回0

ELT() 字符串的集合操作

ELT(expr1,str1,str2,…) expr1=1 返回str1 expr1=2 返回str2 如果 expr1 小于 1 或大于参数的数量,返回 NULL
比如我们用在会员等级上
select ELT(level, ‘超级会员’, ‘黄金会员’, ‘普通会员’) as level_name from user;

你可能感兴趣的:(Mysql IF相关函数的使用)