MySQL CASE 표현식은 우리에게 다음을 작성할 수 있는 제어 흐름 기능의 일부입니다. if-else 또는 if-then-else 쿼리에 대한 논리. 이 표현식은 SELECT, WHERE, ORDER BY 절 등 유효한 프로그램이나 쿼리를 사용하는 모든 곳에서 사용할 수 있습니다.
CASE 표현식은 다양한 조건의 유효성을 검사하고 첫 번째 조건이 다음과 같을 때 결과를 반환합니다. 진실 . 조건이 충족되면 이동을 중지하고 출력을 제공합니다. 어떤 조건도 true가 아닌 것으로 확인되면 다음을 실행합니다. 다른 블록 . else 블록을 찾지 못하면 다음을 반환합니다. 없는 값. 주요 목표는 MySQL CASE 문은 SELECT 절의 여러 IF 문을 처리하는 것입니다.
CASE 문은 다음과 같은 두 가지 방법으로 사용할 수 있습니다.
1. 간단한 CASE 문:
첫 번째 방법은 아래와 같이 값을 가져와서 주어진 명령문과 일치시키는 것입니다.
자바 정규식에서
통사론
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
첫 번째 결과를 반환합니다. 비교_값 비교가 사실이 됩니다. 그렇지 않으면 else 절이 반환됩니다.
예
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
산출
위 명령을 성공적으로 실행하면 다음과 같은 출력이 표시됩니다.
2. 검색된 CASE문 :
두 번째 방법은 다음을 고려하는 것입니다. 검색_조건 에서 언제 절을 찾고, 찾으면 해당 THEN 절에 결과를 반환합니다. 그렇지 않으면 else 절이 반환됩니다. else 절을 지정하지 않으면 NULL 값을 반환합니다.
통사론
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
예
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
산출
자바 컬렉션 프레임워크
반환 유형
CASE 표현식은 사용되는 컨텍스트에 따라 결과를 반환합니다. 예를 들어:
- 문자열 컨텍스트에서 사용되는 경우 문자열 결과를 반환합니다.
- 숫자 컨텍스트에서 사용되는 경우 정수, 부동 소수점 값을 반환합니다.
MySQL 버전 지원
CASE 문은 다음 MySQL 버전을 지원할 수 있습니다.
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
- MySQL 3.23.3
테이블을 만들어보자' 재학생 '하고 이 테이블에 CASE 문을 수행합니다.
위의 표에서 우리는 수업 열 학생 부서의 약식을 포함합니다. 그래서 부서의 약식을 전체 형태로 바꾸려고 합니다. 이제 이 작업을 수행하려면 다음 쿼리를 실행하세요.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
위 쿼리가 성공적으로 실행되면 다음과 같은 결과가 출력됩니다. 여기서 우리는 부서 열에는 짧은 형식 대신 전체 형식이 포함됩니다.