mysql 流程函数

CASE语句

select stu_id,grade,
case when grade > 80 then 'good'
         when grade between 60 and 80 then 'not bad'
         else 'bad' end as grade_level
from stu_grade;

IF语句

select grade, if(grade>= 60,'pass','fail') as grade_judge from stu_grade;

IF age>20 THEN SET @count1=@count1+1;  
ELSEIF age=20 THEN SET @count2=@count2+1;  
ELSE SET @count3=@count3+1;  
END IF;

IFNULL

select stu_id,grade, ifnull(grade,0) as new_grade from stu_grade;

 ASCII(str)

自定义函数

select ascii('abc');
mysql> CREATE FUNCTION   test.formatDate(fdate datetime) -> RETURNS VARCHAR(255) -> BEGIN -> DECLARE x VARCHAR(255) DEFAULT ''; -> SET x= date_format(fdate,'%Y年%m月%d日%h时%i分%s秒'); -> RETURN x; -> END $$ Query OK, 0 rows affected (0.11 sec) mysql> DELIMITER ; mysql> SELECT formatDate(now());

WHILE @count<100 DO 
SET @count=@count+1; 
END WHILE ; 

WHILE @count<100 DO
SET @count=@count+1;
END WHILE;

REPEAT 
SET @count=@count+1; 
UNTIL @count=100 
END REPEAT ; 

REPEAT
SET @count=@count+1;
UTILL @count=100
END REPEAT;

add_num: LOOP 
SET @count=@count+1; 
IF @count=100 THEN 
LEAVE add_num ; 
ELSE IF MOD(@count,3)=0 THEN 
ITERATE add_num; 
SELECT * FROM employee ; 
END LOOP add_num ; 



你可能感兴趣的:(mysql 流程函数)