Mysql-学习笔记(==》函数的建立与使用 十)
函数的建立与使用
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;