1. 程式人生 > 實用技巧 >mysql自定義函式

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.查詢函式

show 函式名();

show 函式名(引數);

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)