mysql自定义函数
mysql自定义函数:有且只有一个返回,适合做处理数据后,返回一个查询结果
1.创建函数
1 create function 函数名(参数里列表) returns 返回类型 2 begin 3 函数体 4 end
1.参数列表的格式为:参数名 类型 例如:name varchar(20),age int
2.函数体里一定要有一条return 语句;推荐放在最后;
3.只有一条执行语句时,begin 和end 可以省略;
4.函数返回的是一个值;
2.查询函数
select 函数名();
select 函数名(参数);
3.删除函数
drop function IF EXISTS 函数名;
4.查看函数
show function 函数名
************************************************************************************************************************************************************************************************************
# 案例:根据商品名称返回商品价格
1 create function getPrice(name varchar(20)) returns double 2 3 begin 4 5 set @price=0; 6 7 select table_sal .price into @price from table_sal where table_sal .name=name; 8 9 return @price; 10 11 end; 12 13 select getPrice('相册');
查询时会报错:
原因:
在存储过程或者函数,传人参数是中文的时候,那么就需要将参数的类型VARCHAR
改成NVARCHAR
;
#案例:求两个结果的和
CREATE FUNCTION test_fun(num1 FLOAT,num2 FLOAT) RETURNS float BEGIN DECLARE SUM FLOAT DEFAULT 0; SET SUM=num1+num2; RETURN SUM; END SELECT test_fun(1,2)