摘自 daisylh 部落格
1.用if...then...elseif...
delimiter $$
drop function if exists `demodb`.`sf1` $$
create function `sf1`(pid varchar(10)) returns varchar(100)
begin
declare strsql varchar(100);
if pid="1" then set strsql= 'select * from tablea';
elseif pid="2" then set strsql= 'select * from tableb' ;
else set strsql= 'select * from tablec' ;
end if ;
return strsql;
end $$
delimiter ;
2.用case...when...then...
delimiter $$
drop function if exists `demodb`.`sf2` $$
create function `sf2`(pid varchar(10)) returns varchar(100)
begin
declare strsql varchar(100);
case pid
when "1" then set strsql= 'select * from tablea';
when "2" then set strsql= 'select * from tableb' ;
else set strsql= 'select * from tablec' ;
end case ;
return strsql;
end $$
delimiter ;
3.儲存過程中呼叫函式
delimiter $$
drop procedure if exists `jm***b`.`sp7` $$
create procedure `sp7`(in pid varchar(10))
begin
select sf1(pid) into @sql;
prepare stmt from @sql;
execute stmt ;
end $$
delimiter ;
p.s.sf1(pid)即為1的函式
4.函式的查詢
show function status;
show create function sf1;
Mysql時間加減函式應用
mysql時間加減函式 開發中我們有時候需要對資料庫中時間內容就行修改,mysql也很任性化,給我們提供了修改時間的兩個函式以方便開發者使用 mysql時間加減函式為date add date sub 定義和用法 date add 函式向日期新增指定的時間間隔。date sub 函式向日期減少指定的...
mysql函式建立以及應用
建立sum s函式 setglobal log bin trust function creators true 防止報差錯的額語句 delimiter create function sum s a float b float returns float begin return a b end ...
MySQL自定義函式應用
mysql mysql delimiter mysql mysql create function myfunction in string varchar 255 in find str varchar 20 in repl str varchar 20 returns varchar 255 b...