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