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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM