创建函数
1)使用语法创建
// msyql中的函数一定有返回值// 创建函数的语法,注意:参数和返回值一定要写长度,避免使用到关键字create function 函数名([形参列表]) returns 数据类型begin-- 函数体-- 返回值 end// 函数实例create function ym_date(mydate date)returns varchar(15)beginreturn date_format(mydate,'%Y-%m');end//两者之和CREATE FUNCTION myfun3(a float,b float) returns floatBEGIN DECLARE c FLOAT DEFAULT 0;#声明变量c,用来存放二者之和set c=a+b;#设置变量c,等于变量a+变量bRETURN c;END
2)向导创建
选择对应数据库下函数右键新建函数->选择函数->填写参数->填写返回参数数据类型->填写函数体信息->保存->填写函数名
查看函数
// 查看自定义的所有函数show function statusshow 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 floatbeginreturn date_format(mydate,'%Y-%m');end;
可以清楚地看到 它是将原有的函数进行删除,但 参数没变的情况下 进行更改主体内容,所以我们要更改函数不如之间重新创建一个,避免参数上的一个问题。
删除函数
1.选中想要更改的函数-> 右键删除函数
// 删除对应函数drop function '函数名';drop function ym_date2;