a=int(input("輸入一個數[0,100]成績:")) if 100>=a>=90: print("優") elif 90>a>=80: print("良") elif 80>a>=60: print("中") else: print("不及格")
print("輸入一個數:") num=int(input()) if num>=0: if num<=20: print("[0,20]") else: print(">20") else: if num>=-10: print("(-10,0)") else: print("<=-10")
if 條件表達式 then 語句塊1; elseif 表達式2 then 語句塊2; elseif 表達式3 then 語句塊3; else 語句塊n; end if
例python
CREATE DEFINER=`root`@`localhost` PROCEDURE `pTest`() BEGIN DECLARE vHour INT; SET vHour =60; IF vHour>70 THEN SELECT '加班超多'; ELSEIF vHour> 50 AND vHour<=70 THEN SELECT '加班多'; ELSEIF vHour >40 AND vHour<=50 THEN SELECT '有加班'; ELSE SELECT '沒加班'; END IF; END
case a when 1 then 語句塊1; when 2 then 語句塊2; else 語句塊n; end case;
例mysql
CREATE PROCEDURE pCase() BEGIN DECLARE job CHAR(50); SET job ='a'; CASE job WHEN 'a' THEN SELECT '工做是經理'; WHEN 'b' THEN SELECT '工做是財務'; WHEN 'c' THEN SELECT '工做是人事'; WHEN 'd' THEN SELECT '工做是行政'; ELSE SELECT '是其它工做'; END CASE; END;
case when a=1 then 語句塊1; when a=2 then 語句塊2; else 語句塊n; end case;
while 條件表達式 do 循環體; end while;
例sql
CREATE PROCEDURE pWhile() BEGIN DECLARE vNum INT; SET vNum = 0; WHILE vNum<20 DO SET vNum= vNum + 1; END WHILE; SELECT vNum; END
[循環標籤:] loop 循環體; if 條件表達式 then leave [循環標籤]; end if; end loop;
例函數
CREATE PROCEDURE pLoop() BEGIN DECLARE vNum INT; SET vNum = 0; addLoop:LOOP IF vNum>20 THEN LEAVE addLoop; END IF; SET vNum= vNum + 1; END LOOP addloop; SELECT vNum; END
Leave 關鍵字:用戶跳出當前的循還語句
語法:leave 循還標籤;
Iterate 關鍵字:用於跳出本次循還,進行下次循還
語法:iterate 循還標籤;oop
一、IF(expr,v1,v2)函數
若是表達式expr成立,返回結果v1;不然,返回結果v2。
二、 IFNULL(v1,v2)函數
若是v1的值不爲NULL,則返回v1,不然返回v2。spa
三、CASEcode
CASE expr WHEN e1 THEN v1 WHEN e2 THEN v2 ... ELSE vn END
例blog
SQL> SELECT ename ,empno ,CASE job WHEN 'clerk' THEN sal+ 100 WHEN 'salesman' THEN sal + 1000 ELSE sal END FROM emp;
四、其餘函數input
floor(x) 返回小於等於x的最大整數
ceiling(x) 返回大於等於x的最小整數
mod(x) 返回餘數
pow(x,y) 返回x的y次方
ABS(x) 返回x的絕對值it
% : 模 - 由右側操做數和餘返回除以左側操做數
** : 指數- 執行對操做指數(冪)的計算
// : 地板除 - 操做數的除法,其中結果是將小數點後的位數被除去的商。