函数的概念与定义
理解函数
函数可以看作是一个加工作坊,这个加工作坊接收调用者传递过来的原料(传递的参数),然后将这些原料加工处理成产品(函数的返回值)再把产品返回给调用者
创建语法
建议自定义函数以fun_前缀
create function 函数名(参数1,参数2....) returns 返回值的数据类型
[函数类型]
begin
函数体
return 语句;
end;
例:
(将日期转换成2016年10月12日)
DELIMITER $$
CREATE FUNCTION fun_dateToStr(mdate datetime RETURNS VARCHAR(50)
BEGIN
DCLARE str VARCHAR(50) DEFAULT '';(声明一个变量 使用DECLARE 变量名 数据类型 默认值)
SET str = DATE_FORMAT(mdate,'%Y年%m月%d日');(使用SET对变量进行赋值)
RETURN str;
END$$
DELIMITER ;
请大家课后了解函数类型,默认 language sql not deterministic sql security definer
自定义函数
DELIMITER
定义一个结束标识符,因为MySQL默认是以分号作为SQL语句的结束符的,而函数体内部要用到分号,所以会跟默认的SQL结束符发生冲突,所以需要先定义一个其他的符号作为SQL的结束符;
分支结构
IF 条件 THEN 语句 ELSEIF 条件 THEN 语句 ELSE 语句 END IF;
循环结构
循环名:loop end loop 循环名 WHILE,REPEAT
删除自定义函数
DROP FUNCTION IF EXISTS 自定义函数名
查看自定义函数定义
SHOW CREATE FUNTION 自定义函数名;
查看自定义函数状态
SHOW FUNCTION STATUS [LIKE]