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)
原文地址:https://www.cnblogs.com/ylboke/p/14064211.html