UDF(user-dinfine function,UDF)自定义函数
自定义函数的两个必要条件:
(1)参数
(2)返回值
创建自定义函数:
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body
函数体:
(1)函数体由合法的SQL语句构成
(2)函数体可以是简单的SELECT或INSERT语句
(3)函数体如果为复合结构则使用BEGIN...END语句
(4)复合结构可以包含声明,循环,控制结构
不带参数的自定义函数
参数的自定义函数
复合结构函数体的自定义函数
自定义函数的两个必要条件:
(1)参数
(2)返回值
创建自定义函数:
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body
函数体:
(1)函数体由合法的SQL语句构成
(2)函数体可以是简单的SELECT或INSERT语句
(3)函数体如果为复合结构则使用BEGIN...END语句
(4)复合结构可以包含声明,循环,控制结构
不带参数的自定义函数
CREATE FUNCTION fun1() RETURNS VARCHAR(30)
-> RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H:%i:%s');
mysql> SELECT fun1();
+-------------------------+
| fun1() |
+-------------------------+
| 2016年05月01日 14:42:32 |
+-------------------------+
参数的自定义函数
CREATE FUNCTION fun(num1 SMALLINT,num2 SMALLINT)
-> RETURNS FLOAT(10,2)
-> RETURN (num1+num2)/2;
复合结构函数体的自定义函数
CREATE FUNCTION adduser(username VARCHAR(20))
-> RETURNS INT UNSIGNED
-> BEGIN
-> INSERT test(username) VALUES(username);
-> RETURN LAST_INSERT_ID();
-> END