Mysql의 if는 저장 프로시저에서 표현식이나 프로세스 제어 문으로 사용할 수 있습니다. 이 기사에서는 주로 mysql의 if 문을 사용하는 방법에 대해 설명합니다.
IF(expr1,expr2,expr3)
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
select *,if(sva=1,"男","女") as ssva from taname where sva != ""
select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''
在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。
例如:
SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' ENDas testCol
将输出one
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
mysql> SELECT IFNULL(1,0); -> 1mysql> SELECT IFNULL(NULL,10); -> 10mysql> SELECT IFNULL(1/0,10); -> 10mysql> SELECT IFNULL(1/0,'yes'); -> 'yes'
IFNULL(expr1,expr2)
IF search_condition THEN statement_list [ELSEIF search_condition THEN] statement_list ... [ELSE statement_list] END IF
create procedure dbname.proc_getGrade (stu_no varchar(20),cour_no varchar(10)) BEGIN declare stu_grade float; select grade into stu_grade from grade where student_no=stu_no and course_no=cour_no; if stu_grade>=90 then select stu_grade,'A'; elseif stu_grade<90 and stu_grade>=80 then select stu_grade,'B'; elseif stu_grade<80 and stu_grade>=70 then select stu_grade,'C'; elseif stu_grade70 and stu_grade>=60 then select stu_grade,'D'; else select stu_grade,'E'; end if; END
rrreee
는 다음을 출력합니다IFNULL(expr1,expr2)IFNULL(expr1,expr2)
기본 결과 값은 STRING, REAL 또는 INTEGER 순서로 두 표현식 중 더 "일반적인" 값입니다. 🎜🎜IF ELSE는 조건 판단을 구현하고 다양한 조건이 충족될 때 다른 작업을 수행하는 🎜🎜if로 사용됩니다. 프로그래밍을 배우면 if의 역할을 모두 살펴보겠습니다. mysql 저장 프로시저에서 사용하는 방법. 🎜rrreee🎜는 PHP의 IF 문과 유사합니다. IF의 search_condition이 true이면 THEN 뒤의statement_list 문이 실행되고, 그렇지 않으면 ELSEIF의 조건이 true이면 후속 문_list 문이 실행됩니다. 그렇지 않으면 다른 지점이 계속해서 심사를 받습니다. 모든 분기의 조건이 충족되지 않으면 ELSE 분기가 실행됩니다. search_condition은 조건식으로 "=, <, <=, >, >=, !=" 등의 조건 연산자로 구성할 수 있으며, AND, OR, NOT을 사용하여 여러 표현식을 결합할 수 있습니다. 🎜🎜예를 들어, 학생 번호(student_no)와 과목 번호(course_no)를 통해 학생의 성적(학년)을 쿼리하고 성적이 90점보다 높은 사람은 A등급이고, 그 성적이 반환되는 저장 프로시저를 만듭니다. 90점 미만은 80점 이상은 B등급, 80점 미만 70점 이상은 C등급, E등급으로 진행됩니다. 그런 다음 저장 프로시저를 생성하는 코드는 다음과 같습니다. 🎜rrreee🎜참고: IF는 명령문이며 명령문의 끝을 나타내려면 END IF 뒤에 세미콜론 ";"을 추가해야 합니다. CASE, LOOP 등과 같은 문 🎜🎜관련 튜토리얼: 🎜mysql 비디오 튜토리얼🎜🎜위 내용은 MySQL에서 if 문을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!