创建函数
1)使用语法创建
// msyql中的函数一定有返回值
// 创建函数的语法,注意:参数和返回值一定要写长度,避免使用到关键字
create function 函数名([形参列表]) returns 数据类型
begin
-- 函数体
-- 返回值
end
// 函数实例
create function ym_date(mydate date)
returns varchar(15)
begin
return date_format(mydate,'%Y-%m');
end
//两者之和
CREATE FUNCTION myfun3(a float,b float) returns float
BEGIN
DECLARE c FLOAT DEFAULT 0;#声明变量c,用来存放二者之和
set c=a+b;#设置变量c,等于变量a+变量b
RETURN c;
END
2)向导创建
选择对应数据库下函数右键新建函数->选择函数->填写参数->填写返回参数数据类型->填写函数体信息->保存->填写函数名
查看函数
// 查看自定义的所有函数
show function status
show function status where Db ="py_etl"
// 可以根据名称查看所有自定义的函数,支持模糊查询
show function status like '名字';
show function status like '%me';
show function status like "ym_date"
// 查看函数的创建语句
show create function '函数名字';
show create function ym_date
//使用函数
SELECT ym_date(established_date) from py_etl_private_fund_base_info_2_1
更改函数
1.选中想要更改的函数> 右键设计函数>写函数主体 -> 保存
2.更改函数的时候,他是将你原来的函数进行了删除,至更新函数的主体内容,所以当我们想要更新函数时,不如重新建立一个函数。怎么验证呢,在设计函数将函数主体内容进行更改,点击SQL预览,就可以看到执行的SQL语句了,例如:之前 my_fun3 是求两者之和,现在改成ym_date 的内容,他的sql内容就是
DROP FUNCTION IF EXISTS `myfun3`;
CREATE DEFINER = `root`@`localhost` FUNCTION `myfun3`(a float,b float)
RETURNS float
begin
return date_format(mydate,'%Y-%m');
end;
可以清楚地看到 它是将原有的函数进行删除,但 参数没变的情况下 进行更改主体内容,所以我们要更改函数不如之间重新创建一个,避免参数上的一个问题。
删除函数
1.选中想要更改的函数-> 右键删除函数
// 删除对应函数
drop function '函数名';
drop function ym_date2;