自定義函式 傳入值 0顯示值為女,1顯示值為男

2021-08-20 05:07:25 字數 2204 閱讀 5948

一、基本語法

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. 使用全域性變數

--

計算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 ;

2. 使用區域性變數

--

求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 ;

如何顯示自定義函式:傳入值(0顯示值為女,1顯示值為男)

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...