流程控制
类似于python中的if语句,进行选择判断
1、case语法1:等值判断
说明:当值等于某个比较值的时候,对应的结果会被返回;如果所有的比较值都不相等则返回else的结果;如果没有else并且所有比较值都不相等则返回null
case 值 when 比较值1 then 结果1 when 比较值2 then 结果2 ... else 结果 end
例:
select case 1 when 1 then 'one' when 2 then 'two' else 'zero' end as result;
2、case语法2:非等值判断,可以进行>、<、!=等判断
说明:当某个条件返回true时,对应的结果被返回;如果所有的条件都不返回true则返回else的结果;如果没有else并且所有条件都不返回true则返回null
case when 条件1 then 结果1 when 条件2 then 结果2 ... else 结果 end
例:
select case when 1>2 then 'part1' when 3>2 then 'part2' else 'part3' end as result;
4、if语句
说明:如果表达式的结果为true,则返回结果1,否则返回结果2
if(表达式,结果1,结果2)
例:
select if(1>2,2,3) as result;
5、ifnull语句
说明:如果表达式1不为null,则返回表达式1的结果,否则返回表达式2的结果
ifnull(表达式1,表达式2)
例:
select ifnull(1,0) as result;
6、nullif语句
说明:如果表达式1等于表达式2,则返回null,否则返回表达式1的结果
nullif(表达式1,表达式2)
例:
select nullif(1,0) as result;
网友评论