一、区别
1、参数
函数:参数类型只有一种
存储过程:参数类型有in,out,inout
2、返回类型
自定义函数指明返回类型,returns type
3、返回值
自定义函数必须有返回值,且只能有一个
4、调用方式
函数:在sql语句中调用
存储过程:call语句调用
二、使用
1、创建函数
创建一个函数,将日期格式化为xxxx年xx月xx日
delimiter//
create function testfun(mydate date)
returns varchar(30)
begin
return date_format(mydate,'%Y年%m月%d日');
end//
delimiter;
select testfun(curdate());
运行结果:
2、创建存储过程
创建一个存储过程,将日期格式化为xxxx年xx月xx日
delimiter//
create procedure testpro(in mydate date,out msg varchar(30))
begin
set msg=date_format(mydate,'%Y年%m月%d日');
end//
delimiter;
call testpro(now(),@msg);
select @msg;
运行结果: