自定义函数
mysql内置函数,例如min() max() avg() count() abs() now() date()
为了满足开发中的需要,可以自定义函数,来完成某种特定的功能
语法:
自定义不带参数的函数
#自定义结束符
DELIMITER //
# 定义函数
CREATE FUNCTION 自定义函数名()
//返回值类型 这里必须写mysql的数据类型
RETURNS VARCHAR(30)
BEGIN # 开始标志
# 函数体
RETURN CONCAT('li','si');
END
//
注:默认情况下分号表示结束,为了能够在begin和end之间写多条语句,每个语句都有分号,这时可以自定义结束符,如果是单条语句可以省略 begin和end
自定义带参数的函数
#自定义结束符
DELIMITER //
# 定义函数
CREATE FUNCTION 自定义函数名(形参名称1 形参类型,形参名称2 形参类型)
//返回值类型 这里必须写mysql的数据类型
RETURNS VARCHAR(30)
BEGIN # 开始标志
# 函数体
RETURN 形参1+形参2;
END
//
实例
# 带参数的自定义函数
DELIMITER //
CREATE FUNCTION a3(a INT,b INT)
RETURNS INT
BEGIN
RETURN a+b;
END
//
# 调用
SELECT a3(1,2);
给变量赋值
#表达式结果赋值
DELIMITER //
CREATE FUNCTION tux_num(a INT,b INT)
RETURNS INT
BEGIN
DECLARE c INT;
SELECT a*b INTO c;
RETURN c;
END
//
#调用
SELECT tux_num(3,4);
# 查询其他数据库赋值
DELIMITER //
CREATE FUNCTION count_num()
RETURNS INT
BEGIN
DECLARE c INT;
SELECT COUNT(*) INTO c FROM employee;
RETURN c;
END
//
#调用
SELECT count_num();
删除自定义函数
语法:
DROP FUNCTION 自定义函数名;
实例:
DROP FUNCTION a2;
查看创建自定义函数的语句
SHOW CREATE FUNCTION a3;