목차

Search

  1. 서문
  2. 변환 언어
  3. 상수
  4. 연산자
  5. 변수
  6. 날짜
  7. 함수
  8. 사용자 지정 함수 작성
  9. 사용자 지정 함수 API 참조

변환 언어 참조

변환 언어 참조

DECODE

DECODE

지정한 값에 대해 포트를 검색합니다. 함수에서 값이 검색되면 사용자가 정의한 결과 값이 반환됩니다. DECODE 함수 내에서 검색을 수에 제한 없이 작성할 수 있습니다.
DECODE를 사용하여 문자열 포트의 값을 검색하는 경우 RTRIM 함수를 사용하여 후행 공백을 잘라내거나 검색 문자열에 공백을 포함할 수 있습니다.

구문

DECODE(
value
,
first_search
,
first_result
[,
second_search
,
second_result
]...[,
default
] )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
필수
이진을 제외한 모든 데이터 유형. 검색할 값을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
검색
필수
값 인수와 동일한 데이터 유형의 값. 검색할 값을 전달합니다. 검색 값은 값 인수와 일치해야 합니다. 값의 일부를 검색할 수는 없습니다. 또한 검색 값은 대/소문자를 구분합니다.
예를 들어 특정 포트에서 문자열 'Halogen Flashlight'를 검색하려는 경우 'Halogen'이 아니라 'Halogen Flashlight'를 입력해야 합니다. 'Halogen'만 입력하면 검색에서 일치하는 값을 찾지 못합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
결과
필수
이진을 제외한 모든 데이터 유형. 검색에서 일치하는 값을 찾을 경우 반환할 값입니다. 유효한 모든 변환 식을 입력할 수 있습니다.
기본값
선택 사항
이진을 제외한 모든 데이터 유형. 검색에서 일치하는 값을 찾지 못할 경우 반환할 값입니다. 유효한 모든 변환 식을 입력할 수 있습니다.

반환 값

검색에서 일치하는 값을 찾은 경우
First_result
가 반환됩니다.
검색에서 일치하는 값을 찾지 못한 경우 기본값이 반환됩니다.
기본값 인수를 생략하고 검색에서 일치하는 값을 찾지 못한 경우 NULL이 반환됩니다.
여러 조건이 충족된 경우에도
PowerCenter 통합 서비스
는 처음 일치하는 결과를 반환합니다.
데이터에 다중 바이트 문자가 포함되고 DECODE 식이 문자열 데이터를 비교하는 경우 반환 값은
PowerCenter 통합 서비스
의 코드 페이지 및 데이터 이동 모드에 따라 다릅니다.

DECODE 및 데이터 유형

DECODE를 사용하는 경우 반환 값의 데이터 유형은 항상 전체 자릿수가 가장 큰 결과의 데이터 유형과 동일합니다.
예를 들어 다음 식이 있습니다.
DECODE ( CONST_NAME          'Five', 5,          'Pythagoras', 1.414213562,          'Archimedes', 3.141592654,          'Pi', 3.141592654 )
이 식의 반환 값은 5, 1.414213562 및 3.141592654입니다. 첫 번째 결과는 정수이고 다른 결과는 10진수입니다. 10진수 데이터 유형은 정수보다 전체 자릿수가 큽니다. 이 식은 항상 결과를 10진수로 씁니다.
많은 전체 자릿수 모드에서 세션을 실행할 때 최소 1개의 결과가 배정밀도일 경우 반환 값의 데이터 유형은 배정밀도입니다.
문자열과 숫자 반환 값을 모두 포함하는 DECODE 함수를 작성할 수 없습니다.
예를 들어 다음 식은 올바르지 않습니다.
DECODE ( CONST_NAME          'Five', 5,          'Pythagoras', '1.414213562',          'Archimedes', '3.141592654',          'Pi', 3.141592654 )
위의 식에 대한 유효성을 검사하면 다음과 같은 오류 메시지가 표시됩니다.
Function cannot resolve operands of ambiguously mismatching datatypes.

특정 ITEM_ID를 검색하고 ITEM_NAME을 반환하는 식에 DECODE를 사용하면
DECODE( ITEM_ID, 10, 'Flashlight',                  14, 'Regulator',                  20, 'Knife',                  40, 'Tank',                  'NONE' )
ITEM_ID  
RETURN VALUE
10
Flashlight
14
Regulator
17
NONE
20
Knife
25
NONE
NULL
NONE
40
Tank
DECODE가 항목 17과 25에 기본값 NONE을 반환합니다. 검색 값이 ITEM_ID와 일치하지 않기 때문입니다. 또한 DECODE는 NULL ITEM_ID에 대해서도 NONE을 반환합니다.
다음 식은 TRUE 또는 FALSE에 대해 위에서 아래의 순서로 평가된 여러 열 및 조건을 테스트합니다.
DECODE( TRUE,         Var1 = 22, 'Variable 1 was 22!',         Var2 = 49, 'Variable 2 was 49!',         Var1 < 23, 'Variable 1 was less than 23.',         Var2 > 30, 'Variable 2 was more than 30.',         'Variables were out of desired ranges.')
Var1   
Var2   
RETURN VALUE
21
47
Variable 1 was less than 23.
22
49
Variable 1 was 22!
23
49
Variable 2 was 49!
24
27
Variables were out of desired ranges.
25
50
Variable 2 was more than 30.