다음을 통해 공유


case

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

expr과 같은 첫 번째 optN에 대해 resN을 반환하거나 일치하는 항목이 없으면 def를 반환합니다.

true로 평가되는 첫 번째 condNresN을 반환하거나, 해당 항목이 없는 경우 def를 반환합니다.

구문

CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END

인수

  • expr: 비교가 정의된 임의 식입니다.
  • optN: expr 및 다른 모든 optN최소 공통 형식을 공유하는 식입니다.
  • resN: 다른 모든 resNdef최소 공통 형식을 공유하는 식입니다.
  • def: 모든 resN최소 공통 형식을 공유하는 임의 식입니다.
  • condN: BOOLEAN 식입니다.

반품

결과 형식은 resNdef최소 공통 형식과 일치합니다.

def가 생략된 경우 기본값은 NULL입니다. 조건은 순서대로 평가되며, 결과를 생성하는 resN 또는 def만 실행됩니다.

예제

> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
 1.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
 2.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;
 NULL
> SELECT CASE 3 WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 THEN 'C' END;
 C