mysql 里面的流程控制语句 和 vb里面的有点像,此处介绍 mysql 里面的 ifelse while 结合 自定义函数实现一个 求阶乘的函数实现

1,创建函数

创建语法
create function 函数名([形参列表]) returns 数据类型 -- 规定要返回的数据类型
begin
-- 函数体
-- 返回值: return 类型(指定数据类型);
end

现在我们来使用 定义一个阶乘的 mysql 函数

使用到 if else,以及 while函数

此处需要注意,set 值的后面得加 结尾号,end if ,以及 end while 后面都要加结尾符号,这里得特别注意,不然各种报错,

我刚才写的时候就一直报错

CREATE FUNCTION jic(a INT) RETURNS INT
BEGIN
	SET @i = 1;
	SET @result = 1;
	IF a = 0 THEN
		RETURN 0;
	ELSEIF a = 1 THEN
		RETURN 1;
	ELSE
		WHILE @i <= a DO
			SET @result = @result * @i;
			SET @i = @i +1;
		END WHILE;
		RETURN @result;
	END IF;
END

执行效果:

 

if 里面的多条件 and or

CREATE FUNCTION ifelse(a int) RETURNS VARCHAR(20)
BEGIN
	if a>10 and a < 20 THEN
		return "大于10小于20";
	ELSEIF a<10 or a>20 THEN
		return "小于10或者大于20";
	END IF;
END

Logo

更多推荐