적용 대상: Databricks Runtime 16.3 이상
중요하다
이 기능은 공개 프리뷰입니다.
첫 번째 thenStmtN
가 optN
와 같을 경우 expr
를 실행하고, 일치하는 elseStmt
가 optN
가 아닐 경우 expr
을 실행합니다.
이를 단순 사례 문이라고 합니다.
첫 번째로 thenStmtN
이 평가되어 condN
인 경우 true
을 실행하거나, 어떤 elseStmt
도 condN
로 평가되지 않는 경우 true
.
이를 검색된 사례라고 합니다.
결과 값을 생성하는 사례 식은 CASE 식 참조하세요.
이 문장은 복합 문장안에서만 사용할 수 있습니다.
통사론
CASE expr
{ WHEN opt THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
CASE
{ WHEN cond THEN { thenStmt ; } [...] } [...]
[ ELSE { elseStmt ; } [...] ]
END CASE
매개 변수
expr
비교를 위한 정의가 있는 모든 식입니다.
opt
가장 적은 공통 형식과 다른 모든
expr
형식을 갖춘optN
표현입니다.thenStmt
이전 조건이 .인 경우 실행할 SQL 문입니다
true
.elseStmt
없는
cond
경우 실행할 SQL 문입니다true
. 즉, 모두cond
false
또는null
.cond
BOOLEAN
식입니다.
조건은 순서대로 평가되며, opt
또는 cond
이 true
로 평가되는 첫 번째 문 집합만 실행됩니다.
예제
-- a simple case statement
> BEGIN
DECLARE choice INT DEFAULT 3;
DECLARE result STRING;
CASE choice
WHEN 1 THEN
VALUES ('one fish');
WHEN 2 THEN
VALUES ('two fish');
WHEN 3 THEN
VALUES ('red fish');
WHEN 4 THEN
VALUES ('blue fish');
ELSE
VALUES ('no fish');
END CASE;
END;
red fish
-- A searched case statement
> BEGIN
DECLARE choice DOUBLE DEFAULT 3.9;
DECLARE result STRING;
CASE
WHEN choice < 2 THEN
VALUES ('one fish');
WHEN choice < 3 THEN
VALUES ('two fish');
WHEN choice < 4 THEN
VALUES ('red fish');
WHEN choice < 5 OR choice IS NULL THEN
VALUES ('blue fish');
ELSE
VALUES ('no fish');
END CASE;
END;
red fish