@EVAL

@EVAL 함수를 사용하여 일련의 독립 테스트를 기반으로 값을 선택합니다. 테스트할 수 있는 조건 수에 대한 제한이 없습니다. 사례 수가 클 경우 최상의 성능을 위해 가장 자주 발생하는 조건을 먼저 나열합니다.

이 함수의 경우 Oracle GoldenGate는 이스케이프 시퀀스를 사용하여 유니코드의 문자열 열 또는 Microsoft Windows, UNIX 및 Linux 운영 체제의 고유 문자 인코딩에 문자를 나타낼 수 있도록 지원합니다. 인수가 유니코드로 제공된 경우 대상 열은 SQL 유니코드 데이터 유형이어야 합니다.

구문

@EVAL (<condition>, <result>
[<condition>, <result>] [, ....]
[, <default_result>])

<condition>

표준 조건부 연산자를 사용하는 조건부 테스트입니다. 두 개 이상의 조건을 지정할 수 있습니다.

<result>

조건부 테스트 결과를 기반으로 반환할 값 또는 문자열입니다. 리터럴은 작은 따옴표로 묶습니다. 사용되는 각 조건에 대한 결과를 지정합니다.

<default_result>

조건이 충족되지 않을 경우 반환되는 기본 결과입니다. 기본 결과는 선택 사항입니다.

##

예제

다음 예에서 AMOUNT 열이 10000보다 크면 high amount 결과가 반환됩니다. AMOUNT가 5000보다 크고 10000보다 작거나 같은 경우 이전 조건이 충족되지 않은 경우 somewhat high의 결과가 반환됩니다. 어떤 조건도 충족되지 않으면 기본 결과가 지정되지 않으므로 COLUMN_MISSING 표시가 반환됩니다.

AMOUNT_DESC = @EVAL (AMOUNT > 10000, 'high amount', AMOUNT > 5000, 'somewhat high')

다음은 이전 예의 수정 사항입니다. 기본값이 지정되고 AMOUNT가 5000보다 작거나 같은 경우 lower 결과가 반환된다는 점을 제외하고 동일한 결과를 반환합니다.

@EVAL (AMOUNT > 10000, 'high amount', AMOUNT > 5000, 'somewhat high', 'lower')