流程控制函数
1.IF(expr1,expr2,expr3) 判断条件的正误,返回对应值
(1)判断条件的正返回expr2,否则返回expr3
select IF(10>5,'大于','小于') as result; 结果:大于
2.IFNULL(expr1,expr2) 判断值是否为空
(1)判断值为空返回expr2,否则返回expr1
select IFNULL(go.amount,0) from t_goods go;
3.case使用方法一(类似于switch,判断值等于)
CASE 要判断的字段或者表达式
WHEN 常量1 THEN 要显示的值1或者语句1
WHEN 常量2 THEN 要显示的值2或者语句2
...
ELSE 要显示的值n或者语句n
END AS 别名
case使用方法二(类似于多重if,判断区间,例如>,<,>=之类的)
CASE
WHEN 条件1 THEN 要显示的值1或者语句1
WHEN 条件2 THEN 要显示的值2或者语句2
...
ELSE 要显示的值n或者语句n
END AS 别名
(1)判断性别::判断值等于
CASE sex
WHEN 0 THEN '男'
WHEN 1 THEN '女'
WHEN 2 THEN '不男不女'
ELSE '太监'
END AS 性别
(2)判断成绩::判断区间
CASE
WHEN score>=80 THEN '优秀'
WHEN score between 60 and 79 THEN '及格'
WHEN score<60 THEN '不及格'
END AS 等级