>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 if 및 Case 문 사용

MySQL에서 if 및 Case 문 사용

不言
不言원래의
2018-06-13 10:41:092351검색

이 글에서는 주로 MySQL에서 if 문과 Case 문을 사용하는 방법을 요약해서 소개하고, 필요한 친구들이 참고할 수 있도록 IF 문을 표현식으로 활용하는 방법을 설명합니다.

MySQL에서 if 및 Case 문 사용

Mysql의 if는 표현식으로 사용되거나 저장 프로시저에서 프로세스 제어 문으로 사용될 수 있습니다. 다음은 표현식으로 사용됩니다. 0 및 expr1 NULL), IF()의 반환 값은 expr2입니다. IF()의 반환 값은 상황에 따라 숫자 값 또는 문자열 값입니다.

IF(expr1,expr2,expr3)

if는 다음과 같은 경우 CASE를 사용하여 표현식으로 구현할 수도 있습니다.

select *,if(sva=1,"男","女") as ssva from taname where sva != ""

첫 번째 솔루션의 반환 결과에서 value=compare-value. 두 번째 시나리오의 반환 결과는 첫 번째 시나리오의 실제 결과입니다. 일치하는 결과 값이 없으면 ELSE 이후의 결과가 반환됩니다. ELSE 부분이 없으면 반환 값은 NULL입니다.

예:

select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''

는 다음을 출력합니다


IFNULL(expr1,expr2)

expr1이 NULL이 아니면 IFNULL()의 반환 값은 expr1입니다. 그렇지 않으면 반환 값은 expr2입니다. IFNULL()의 반환 값은 사용되는 컨텍스트에 따라 숫자 또는 문자열입니다.

SELECT CASE 1 WHEN 1 THEN 'one'
  WHEN 2 THEN 'two' 
   ELSE 'more' END
as testCol

IFNULL(expr1,expr2)의 기본 결과 값은 STRING, REAL 또는 INTEGER 순서로 두 표현식 중 더 "일반적인" 값입니다.

IF ELSE는 프로세스 제어문으로 사용됩니다.

if는 조건부 판단을 구현하고 다양한 조건이 충족되면 다양한 작업을 수행합니다. 프로그래밍을 배우면 누구나 if의 역할을 살펴보겠습니다. mysql 저장 프로시저 사용 방법.

mysql> SELECT IFNULL(1,0);        -> 1
mysql> SELECT IFNULL(NULL,10);        -> 10
mysql> SELECT IFNULL(1/0,10);        -> 10
mysql> SELECT IFNULL(1/0,'yes');        -> 'yes'

는 PHP의 IF 문과 유사합니다. IF의 search_condition이 true이면 THEN 뒤의statement_list 문이 실행되고, 그렇지 않으면 ELSEIF의 조건이 true이면 후속 문_list 문이 실행됩니다. 그렇지 않으면 다른 지점이 계속해서 심사를 받습니다. 모든 분기의 조건이 충족되지 않으면 ELSE 분기가 실행됩니다. search_condition은 조건식으로 "=, 91eef5681cad6f0cc96f9adeb2931b45, >=, !=" 등의 조건 연산자로 구성할 수 있으며, AND, OR, NOT을 사용하여 여러 표현식을 결합할 수 있습니다. 예를 들어, 학생 번호(student_no)와 과목 번호(course_no)를 통해 학생의 성적(학년)을 쿼리하고 성적이 90점보다 높은 사람은 A등급이고, 그 성적이 반환되는 저장 프로시저를 만듭니다. 90점 미만은 80점 이상은 B등급, 80점 미만 70점 이상은 C등급, E등급으로 진행됩니다. 그런 다음 저장 프로시저를 생성하는 코드는 다음과 같습니다.

IF search_condition THEN 
    statement_list  
[ELSEIF search_condition THEN]  
    statement_list ...  
[ELSE 
    statement_list]  
END IF

참고: IF는 명령문이며 명령문의 끝을 나타내려면 END IF 뒤에 세미콜론 ";"을 추가해야 합니다. CASE, LOOP 등과 같은 문

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

Laravel 경로 리디렉션에 대한 질문

위 내용은 MySQL에서 if 및 Case 문 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.