CASE문은 WHEN절에 정의된 규칙을 사용하여 실행할 명령문 블록을 선택합니다.
CASE문은 간단한 형식과 검색된 형식의 두 가지 형식이 있습니다.
단순 형식에서 기본 표현식이 먼저 평가됩니다. 각 WHEN절 표현식은 결과가 기본 표현식 결과의 것과 동일할 때까지 순서대로 평가됩니다. 그런 다음, 해당 WHEN절의 명령문이 실행됩니다. 일치가 발견되지 않고 선택적 ELSE절이 있는 경우 ELSE절의 명령문이 대신 실행됩니다. 테스트 값은 리터럴일 필요가 없습니다. 단지 기본 표현식과 WHEN절 표현식이 비교할 수 있는 유형으로 평가되어야 합니다.
검색된 형식에서 각 WHEN절 표현식은 TRUE로 평가될 때까지 순서대로 평가됩니다. 그런 다음, 해당 WHEN절의 명령문이 실행됩니다. 어느 표현식도 TRUE로 평가되지 않고 선택적 ELSE절이 있는 경우, ELSE절의 명령문이 실행됩니다. 각 CASE절의 표현식들 사이에 유사성이 있을 필요는 없습니다. 모두 Boolean 값으로 평가되기만 하면 됩니다.
ESQL 언어에는 CASE문과 CASE 함수가 모두 있습니다(CASE 함수에 대한 자세한 내용은 CASE 함수 참조). CASE문은 명령문 세트 중 하나를 실행하도록 선택합니다. CASE 함수는 표현식 세트 중 하나를 평가하도록 선택하고 선택된 표현식의 리턴 값을 값으로 리턴합니다.
CASE size WHEN minimum + 0 THEN SET description = 'small'; WHEN minimum + 1 THEN SET description = 'medium'; WHEN minimum + 2 THEN SET description = 'large'; CALL handleLargeObject(); ELSE SET description = 'unknown'; CALL handleError(); END CASE;검색된 CASE문:
CASE WHEN i <> 0 THEN CALL handleI(i); WHEN j > 1 THEN CALL handleIZeroAndPositiveJ(j); ELSE CALL handleAllOtherCases(j); END CASE;