自定义函数UDF
一、定义
1、参数
2、返回值
函数可以返回任意类型的值,也可以以任意类型的值为参数,理论上函数的参数最多能有1024个参数。
二、创建一个无参数自定义函数
CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(),'/%Y/%m/%d');
三、创建有参数的自定义函数
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1+num2)/2;
四、创建具有复合结果的自定义函数
在写这些之前,首先必须要把mysql数据库的语句结束符改为其他,不能是;就好
CREATE FUNCTION f2(firstName VARCHAR(30),lastName VARCHAR(30))
RETURNS INT UNSIGNED
BEGIN//有多条执行语句的话的必须要加BEGIN.....END
INSERT name(firstName,lastName) VALUES(fristName,lastName);
RETURN LAST_INSERT_ID();注意这句前面没有SELECT
END
$$;//自己定义的结束符
四、删除函数
DROP FUNCTION fun_name();
五、函数只能够返回一个结果,不能够返回一个结果集