一、基本語法
delimiter 自定義符號 -- 如果函式體只有一條語句, begin和end可以省略, 同時delimiter也可以省略
create function 函式名(形參列表) returns 返回型別 -- 注意是retruns
begin
函式體 -- 函式內定義的變數如:set @x = 1; 變數x為全域性變數,在函式外面也可以使用
返回值end
自定義符號
delimiter ;
二、示例
--三、檢視函式自定義函式
delimiter $$
create
function myfun3(ia int, ib int) returns
intbegin
return ia +
ib;end
$$delimiter ;
1. show function status [like 'pattern']; -- 檢視所有自定義函式, 自定義函式只能在本資料庫使用。
2. show create function 函式名; -- 檢視函式建立語句
四、刪除函式
drop function 函式名;
五、綜合應用
1. 使用全域性變數
--2. 使用區域性變數計算1 ~ 指定資料之間的和
delimiter $$
create
function my_sum(x int) returns
intbegin
set@i
=1;
set@sum
=0;
while
@i<=
x do
set@sum
=@sum+@i
;
set@i=@i
+1;
endwhile
;
return
@sum
;end
$$delimiter ;
--如何顯示自定義函式:傳入值(0顯示值為女,1顯示值為男)求1 ~ 指定數之前的和,但5的倍數不加
delimiter $$
create
function my_sum2(x int) returns
intbegin
declare i int
default
1;
declare
sumint
default
0;
sumwhile:
while i <=
x do
if i %
5=
0then
set i = i +
1;
iterate sumwhile;
endif
;
setsum
=sum+i;
set i = i +
1;
endwhile
;
return
sum;
end$$
delimiter ;
delimiter ;;
create
function `tex`.`admin2`(p int)
returns varchar(50) #返回的資料型別
begin
case p
when 1 then return '男';
when 2 then return '女';
else return '人妖';
end case;
end;;
delimiter ;
呼叫自定義函式
select 函式名(引數)
mysql自定義函式 傳入值(0為女,1為男)
這是乙個比較簡單的判斷 傳入乙個數值若為0則輸出女 為1則輸出男 以下是我的 delimiter create function person hhh index1 int 定義乙個變數 returns varchar 10 定義返回的資料型別和長度 begin declare result var...
Zabbix agent自定義值為空
環境 centos 7 zabbix server 4.0.19 zabbix agent 4.0.19 通過nvdia smi獲取顯示卡執行狀態 問題現象 由於server端無法直接訪問agent,所以採用了active模式,server端能獲取到agent上報的自帶項的值,自定義呼叫nvidia...
C C 自定義函式 返回值
根據返回值型別來定義為int,並且在子函式結尾一定要寫上return result 需要返回的值 int main中需要定義乙個新的變數去接收子函式返回的值 全域性變數的生命期是永恆的,如果返回乙個區域性變數的位址會出現問題 變數在子函式中或者在if語句後出現都會隨著程式的執行時變數失效 inclu...