1、创建函数
drop function ifexists hello;
CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50)
RETURN CONCAT('Hello ',s,'!');
调用上述函数(select)
select hello('world');
注意: 指定参数为IN, OUT, 或INOUT 只对PROCEDURE是合法的。(FUNCTION参数总是被认为是IN参数)指定参数为IN, OUT, 或INOUT 只对PROCEDURE是合法的。(FUNCTION参数总是被认为是IN参数)
RETURNS字句只能对FUNCTION做指定,对函数而言这是强制的。它用来指定函数的返回类型,而且函数体必须包含一个RETURN value语句。
2、查看函数
show create function hello;
3、删除函数
drop function hello;
4、查看函数状态
show function status;
或
show function status LIKE 'hello%';
5、错误
1)创建function报错:Error Code: 1418. This function has none of DETERMINISTIC,解决办法如下
show variables like '%log_bin_trust_function_creators%'; //如果该参数值为OFF,执行下面语句设为ON即可
SET GLOBAL log_bin_trust_function_creators = 1;