练涛

MySQL学习笔记(23)——自定义函数

自定义函数

CREATE FUNCTION function_name
RETURNS
{
STRING|INTEGER|REAL|DECIMAL
routine_body
}

创建无参函数

 CREATE FUNCTION fun() RETURNS VARCHAR(30)
    RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');

使用:SELECT fun();
结果:2018年05月04日 12点:41分:30秒


创建有参函数

 CREATE FUNCTION fun2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
     RETURNS FLOAT(10,2) UNSIGNED
     RETURN (num1+num2)/2;

使用:SELECT fun2(20,30);
结果:25.00


创建具有复杂函数体的自定义函数

在创建这个自定义函数前,应当暂时修改Mysql结束符号以防止分号冲突:
改为://
命令:DELIMITER //

创建语句:

 CREATE FUNCTION adduser(username VARCHAR(20))
     RETURNS INT UNSIGNED
     BEGIN
     INSERT tb1(username) VALUES(username);
     RETURN LAST_INSERT_ID();
     END
     //

使用:SELECT adduser(‘hello’);
结果:1

posted @ 2018-05-04 13:12  练涛  阅读(174)  评论(0编辑  收藏  举报