函数的建立与使用
USE db;
SELECT sname,sscore,CASE WHEN sscore>=90 THEN '优秀'WHEN sscore>=70 THEN '良好'WHEN sscore>=60 THEN '及格'ELSE '补考' END '等级'FROM sss;DESC sss;-- 建立函数
DELIMITER//CREATE FUNCTION dj(s TINYINT) -- 设置传参类型RETURNS VARCHAR(30) -- 设置返回类型BEGIN DECLARE lv VARCHAR(10); IF s>=90 THEN SET lv='优秀'; ELSEIF s>=70 THEN SET lv='良好'; ELSEIF s>=60 THEN SET lv='及格'; ELSE SET lv='补考'; END IF; RETURN lv;END//DELIMITER;-- 用case语句
DELIMITER//CREATE FUNCTION dj(s TINYINT)RETURNS VARCHAR(30)BEGIN DECLARE lv VARCHAR(30); CASE WHEN s>=90 THEN SET lv='优秀'; WHEN s>=70 THEN SET lv='良好'; WHEN s>=60 THEN SET lv='及格'; ELSE SET lv='补考'; END CASE; RETURN lv;END//DELIMITER; -- 调用函数SELECT sname,sscore,dj(sscore) FROM sss; -- 删除函数DROP FUNCTION dj;