0
点赞
收藏
分享

微信扫一扫

MySQL自定义函数的使用

古月无语 2022-01-07 阅读 161

MySQL字定义函数是对sql代码集的封装,我将分享有参数与没有参数的自定义函数的使用

studentinfo表数据:

自定义函数的创建、调用、删除

语法

无参数的自定义函数

# 无参数自定义函数
DELIMITER $
CREATE FUNCTION fun1()
RETURNS INT # 定义返回值类型
BEGIN # 函数开始
DECLARE ct_men INT DEFAULT 0; # 声明返回值
SELECT COUNT(gender) INTO ct_men FROM studentinfo WHERE gender='男';
RETURN ct_men; # 返回值
END$
DELIMITER ;
# 调用函数
SELECT fun1();

有参数的自定义函数 

# 摄氏度转换为华氏度的函数
DELIMITER $
CREATE FUNCTION fun2(s INT)
RETURNS VARCHAR(50) # 定义返回值类型
BEGIN # 函数开始
DECLARE h VARCHAR(50) DEFAULT ''; # 声明变量
SET h = CONCAT(32+s*1.8,' C'); # 拼接
RETURN h; # 返回值
END$
DELIMITER ;
# 调用
SELECT fun2(1)

删除自定义函数 

DROP FUNCTION fun1;

总结:自定义函数与存储过程非常相似,很多情况下他们的功能都是一样的,里面的代码集的语法都是相同的。有些MySQL管理工具里面存储过程包括存储函数。区别就在于存储过程创建与删除的关键字是procedure,可以有返回值也可以没有,而自定义函数的创建与删除的关键字是function,有且只有一个返回值。

打卡第15天,欢迎对数据库感兴趣的朋友一起讨论、交流,请多指教!

举报

相关推荐

0 条评论