MySQL自定义函数的使用

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
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值