秒懂mysql自定义函数

创建自定义函数语法为

create function 函数名(参数列表)
returns 返回函数类型
函数体

以上语句解释如下
函数名:应该合法的标识符,并且不应该与已有的关键字冲突,一个函数应该属于某数据库,可以使用db_name.function_name的形式执行当前函数所属数据库,否则默认为当前数据库

参数列表:可以有一个或者多个函数参数,甚至是没有参数也是可以的,对于每个参数,由参数名和参数类型组成。

returns:指明返回值类类型
函数体:自定义函数的函数体由多条可用的MySQL语句,流程控制,变量声明等语句构成。需要指明的是函数体中一定要含有return返回语句

删除自定义函数的语法为
Drop function if exits function_name;

下面我们来看一个例子来说明一下

create FUNCTION ry.myFormat(mydate datetime) --其中mydate是参数名,datetime表示参数类型,说明mydate是一个datetime类型的参数。注意一下这里是参数名在前,参数类型在后喔!
RETURNS VARCHAR(255)    --指明函数的返回类型为varchar(255)
BEGIN					--函数体的开头部分
DECLARE temp VARCHAR(255) DEFAULT '';  --定义temp为varchar类型的变量
SET temp = DATE_FORMAT(mydate,'%y年%m月%d日%h时%i分%s秒'); --给temp赋值(其中用了mysql自带的函数DATE_FORMAT())
RETURN temp;  --函数的返回值
END;          --函数体结束

当我们执行完上面代码后可以用下面的sql语句调用一下这个函数来爽一下
SELECT myFormat(NOW()) AS time,NOW() AS time1;

运行结果如下
秒懂mysql自定义函数_第1张图片

你可能感兴趣的:(mysql数据库,mysql)