自定义存储函数与流程控制
1.创建无参数的函数
CREATE FUNCTION f1() RETURNS VARCHAR(30)
## 函数名 返回值类型
RETURN DATE_FORMAT(NOW(),'%年%m月%日 %H点:%i分:%s秒');
SELECT f1();
2.创造有参数的函数
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
## 注意是RETURNS
RETURN (num1+num2)/2;
SELECT f2(1,5);
#delimiter 修改MySQL的结束符 declare 声明变量 returns定义返回值类型
#判断奇偶性
delimiter $$
CREATE FUNCTION f3(j int )
RETURNS int
BEGIN
DECLARE i int ;
if i%2=0 THEN
RETURN 0;
ELSE
RETURN 1;
end if;
end $$
delimiter;
#判断2个数中的最大的数
BEGIN
DECLARE k int;
IF i > j THEN
set k=i ;
ELSE
set k=j ;
end if;
RETURN k;
end
#给出学生的成绩判断他的评价
delimiter $$
CREATE FUNCTION score1(i int)
RETURNS char(6)
BEGIN
DECLARE j int ;
DECLARE cj char(6);
case FLOOR(j/10)
when 10 then set cj='优秀';
when 9 then set cj='优秀';
when 8 then set cj='良好';
when 7 then set cj='中等';
when 6 then set cj='合格';
else set cj = '不合规';
end case;
RETURN cj;
end $$
delimiter;
MySQL之自定义存储函数与流程控制
最新推荐文章于 2025-02-24 10:02:40 发布