if函数
IF (表达式1,表达式2,表达式3)
功能:
实现简单的双分支问题
执行顺序:
首先判断表达式1
如果表达式1成立,则返回表达式2的值
否则返回表达式3
运用在任何地方
case
类似if语句,实现区间判断
case
when 判断条件1|需要判断的值 then 返回值或者表达式;
when 判断条件2|需要判断的值 then 返回值或者表达式;
。。。
else 返回值或者表达式;
end case
注意点:
1、在真实的使用场景下,else可以省略
实例:
DELIMITER $
CREATE FUNCTION f5(score FLOAT) RETURNS CHAR #生成一个函数f5(存储过程也行) 返回char类型
BEGIN
DECLARE grade CHAR;
CASE
WHEN score >90 THEN SET grade='A';
WHEN score > 80 THEN SET grade='B';
WHEN score >70 THEN SET grade='C';
ELSE SET grade='D';
END CASE;
RETURN grade;
END
if 结构
使用的比较复杂的条件判断
if 条件1 then 语句;
elseif 条件2 then 语句;
。。。
else 语句;
end if;
使用在begin end 中,在函数或者存储过程中
实例:
DELIMITER $
CREATE PROCEDURE p17(IN fri FLOAT,OUT result CHAR)#创建一个存储过程(函数也可以)
BEGIN
IF 1<fri AND fri <2 THEN SET result='D';
ELSEIF 2 <fri AND fri <4 THEN SET result='C';
ELSEIF 4<fri AND fri <6 THEN SET result='B';
ELSE SET result='A';
END IF;
END
CALL p17(5,@result)
SELECT @result
总结
优先使用的是case,结构简单使用其他