流程控制:
1、順序結構:程式從上往下依次執行
2、分支結構:多條路徑選擇一條
3、迴圈結構:在規定範圍內重複執行
(一)分支結構:
1:if函式
功能:實現分支流
語法:if(表示式1,表示式2,表示式3)
執行順序:
執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值
應用:任何地方
例:if(num>10,'true','false')
/*輸入年齡提示年齡階段*/
create function test_if(age int) returns char(16)
begin
if age>60 and age<=90 then return '老奶奶';
elseif age>30 and age<=60 then return '大姐姐';
elseif age>18 and age<=30 then return '小姐姐';
elseif age>12 and age<=18 then return '女孩子';
elseif age>0 and age<=12 then return '小女生';
end if;
enddrop function test_if;
select test_if(6)
2:case結構
情況1:一般用於等值判斷
語法:case 變數|表示式|字段
when 要判斷的值 then 返回的值1或語句1;
when 要判斷的值 then 返回的值2或語句2;
……else 要返回的值n或語句n;
end case
情況2:多重if語句,區間判斷
語法:case 變數|表示式|字段
when 要判斷的條件1 then 返回的值1或語句1;
when 要判斷的條件2 then 返回的值2或語句2;
……else 要返回的值n或語句n;
end case
特點1:
可以作為表示式,巢狀其他語句使用,放在begin end內外都可以
可以作為單獨語句使用,只能放在begin end中
特點2:
如果when的值滿足,則執行then後面的語句,並結束case
都不滿足,則執行else中的值或語句
特點3:
else可以省略,若else省略,且所有when都不滿足,則返回null
例2:/*輸入年齡提示年齡階段*/
delimiter //
create procedure test_case(in age int)
begin
case
when age>60 and age<=90 then select '老奶奶';
when age>30 and age<=60 then select '大姐姐';
when age>18 and age<=30 then select '小姐姐';
when age>12 and age<=18 then select '女孩子';
when age>0 and age<=12 then select '小女生';
end case;
end//
call test_case(18)
mysql流程控制 MySQL 流程控制
流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...
流程控制語句Mysql
流程控制語句 1.順序控制語句 begin.end.delimiter create function max1 i int,j int returns int begin return select from student where 學號 xh end delimiter 2.分支控制語句 i...
MYSQL 流程控制函式
if函式 條件,返回值1,返回值2 select if 10 5,大 小 select last name,commission pct,if commission pct is null,不存在 有 別名 from employee case函式 等值 1.case 要判斷的變數或表示式 when...