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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值