mysql自定義函式
阿新 • • 發佈:2020-12-01
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)) returnsdouble 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)