조건별 분기 선택
| 항목 | 값 |
|---|---|
| 화면 이름 | Case |
| 식별자 | caseV2 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 자주 쓰는 표현식 (Popular) |
| 반환 자료형 | T |
조건에 따라 서로 다른 분기 중 하나를 선택합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Default | 필수 | Expression<T> | 모든 분기 조건이 false일 때 선택할 값입니다. |
Branches | 선택 | List<Tuple<Expression<Boolean>, Expression<T>>> | 기본값을 반환하기 전에 평가할 분기들입니다. |
자료형 변수의 범위
T는AnyType범위의 자료형을 받습니다.
입출력 예시
예시 1: 기본 동작
인자 값:
Default: YesBranches: [(
lessThan(
left:miles,
right: 15000,
), No)]
| miles | 출력 |
|---|---|
| 20053 | Yes |
| 10210 | No |
| 34120 | Yes |
예시 2: 경계 조건
여러 분기가 서로 다른 Decimal 자료형을 반환하면 모두 담을 수 있도록 자료형을 확장합니다.
인자 값:
Default:decimalThreeBranches: [(
equals(
left:value,
right: 1,
),decimalOne), (
equals(
left:value,
right: 2,
),decimalTwo)]
| value | decimalOne | decimalTwo | decimalThree | 출력 |
|---|---|---|---|---|
| 1 | 111.11 | 2.2222 | 3333333.333 | 111.1100 |
| 2 | 111.11 | 2.2222 | 3333333.333 | 2.2222 |
| 3 | 111.11 | 2.2222 | 3333333.333 | 3333333.3330 |
예시 3: 경계 조건
확장한 자료형이 너무 크면 허용 범위로 줄이고 넘치는 값은 null로 처리합니다.
인자 값:
Default:decimalThreeBranches: [(
equals(
left:value,
right: 1,
),decimalOne), (
equals(
left:value,
right: 2,
),decimalTwo)]
| value | decimalOne | decimalTwo | decimalThree | 출력 |
|---|---|---|---|---|
| 1 | 111111111111111111111111111111111111.11 | 2222222222222222222222222222.2222222222 | 333333333333333333.33333333333333333333 | null |
| 2 | 111111111111111111111111111111111111.11 | 2222222222222222222222222222.2222222222 | 333333333333333333.33333333333333333333 | null |
| 3 | 111111111111111111111111111111111111.11 | 2222222222222222222222222222.2222222222 | 333333333333333333.33333333333333333333 | 333333333333333333.33333333333333333333 |
| 3 | 111111111111111111111111111111111111.11 | 2222222222222222222222222222.2222222222 | 100.33333333333333333333 | 100.33333333333333333333 |
| 1 | 111.11 | 2222222222222222222222222222.2222222222 | 333333333333333333.33333333333333333333 | 111.11000000000000000000 |