【2】IF 和 CASE WHEN

目录

case when判断语句

IF判断语句

case when判断语句

用法一,switch case的效果

case 字段或者表达式
when 常量1 then 要显示的值1或者语句1
when 常量2 then 要显示的值2或者语句2
else 要显示的值n或者语句n; 
end

用法二,多个if

case
when 条件1 then 要显示的值或者语句
when 条件2 then 要显示的值或者语句
else 要显示的值或者语句
end

可以不写else但是一定要有end ,没有else如果不满足条件会以null填充

SELECT 
	CASE 
    WHEN  au.author_level >= 5 THEN  '5-6级'
    WHEN  au.author_level >= 3 THEN  '3-4级'
    ELSE  '1-2级' 
    END AS level_cut
FROM 
    author_tb au

如果else不写,当 author_level=null 时,最后该条结果会为 null
如果else存在,当 author_level =null 时,最后该条结果会为'1-2级' 

IF判断语句

用法一,用在select查询中,基本语法:IF(条件,为真结果,为假结果)

SELECT
 IF (au.author_level >= 5,'5-6级', 
 IF(au.author_level >= 3, '3-4级','1-2级')) AS level_cut
FROM 
    author_tb au

CASE WHEN 例子等价

用法二,复杂语句块中,(函数/存储过程/触发器)

IF condition1 THEN
   {...statements to execute when condition1 is TRUE...}

[ ELSEIF condition2 THEN
   {...statements to execute when condition2 is TRUE...} ]

[ ELSE
   {...statements to execute when both condition1 and condition2 are FALSE...} ]

END IF;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值