목차

Search

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

변환 언어 참조

변환 언어 참조

INSTR

INSTR

문자열에서 왼쪽에서 오른쪽으로 계산된 문자 집합의 위치를 반환합니다.

구문

INSTR(
string
,
search_value
[,
start
[,
occurrence
[,
comparison_type
]]] )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/선택
설명
문자열
필수
문자열이어야 합니다. 평가할 값을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다. 식의 결과는 문자열이어야 합니다. 그렇지 않은 경우 INSTR 함수가 평가 전에 값을 문자열로 변환합니다.
search_value
필수
모든 값. 검색 값은 대/소문자를 구분합니다. 검색할 문자 집합입니다. search_value는 문자열의 일부와 일치해야 합니다. 예를 들어
INSTR('Alfred Pope', 'Alfred Smith')
를 쓰면 0이 반환됩니다.
유효한 모든 변환 식을 입력할 수 있습니다. 문자열을 검색하려는 경우 검색할 문자를 작은따옴표로 묶습니다(예: 'abc').
시작
선택 사항
정수 값이어야 합니다. 검색을 시작할 문자열의 위치입니다. 유효한 모든 변환 식을 입력할 수 있습니다.
기본값은 1이며 INSTR 함수가 문자열의 첫 글자에서 검색을 시작하는 것을 의미합니다.
시작 위치가 0인 경우 INSTR 함수는 문자열의 첫 문자부터 검색합니다. 시작 위치가 양수인 경우 INSTR 함수는 문자열의 처음부터 수를 계산하여 시작 위치를 찾습니다. 시작 위치가 음수인 경우 INSTR 함수는 문자열의 끝부터 수를 계산하여 시작 위치를 찾습니다. 이 인수를 생략할 경우 기본값 1이 사용됩니다.
발생
선택 사항
0보다 큰 양의 정수. 유효한 모든 변환 식을 입력할 수 있습니다. 검색 값이 문자열에서 두 번 이상 나타나는 경우 어떤 항목에서 검색할지 일치 항목을 지정할 수 있습니다. 예를 들어 시작 위치에서 두 번째 항목을 검색하려면 2를 입력합니다.
이 인수를 생략할 경우 INSTR 함수가 검색 값의 첫 번째 일치 항목을 검색하는 것을 의미하는 기본값 1이 사용됩니다. 10진수를 전달하면
PowerCenter 통합 서비스
가 가까운 정수 값으로 반올림합니다. 음의 정수 또는 0을 전달하면 세션이 실패합니다.
comparison_type
선택 사항
PowerCenter 통합 서비스
를 유니코드 모드에서 실행할 때의 문자열 비교 유형(언어 또는 이진)입니다.
PowerCenter 통합 서비스
를 ASCII 모드에서 실행할 때의 비교 유형은 항상 이진입니다.
언어 비교는 언어별 정렬 규칙을 고려하는 반면 이진 비교는 비트 일치를 수행합니다. 예를 들어 독일어의 샤프 s 문자는 언어 비교에서 문자열 “ss”와 일치하지만 이진 비교에서는 아닙니다. 이진 비교는 언어 비교보다 빠르게 실행됩니다.
0 또는 1의 정수 값이어야 합니다.
  • 0: INSTR 함수가 언어 문자열 비교를 수행합니다.
  • 1: INSTR 함수가 이진 문자열 비교를 수행합니다.
기본값은 0입니다.
0을 입력하는 경우 세션 정렬 순서는 이진이 아니어야 합니다.

반환 값

검색이 성공한 경우 정수가 반환됩니다. 정수는
search_value
의 왼쪽에서 오른쪽으로 수를 계산하여 첫 번째 문자의 위치를 나타냅니다.
검색이 실패한 경우 0이 반환됩니다.
함수에 전달된 값이 NULL인 경우 NULL입니다.

다음 식은 각 회사 이름의 처음부터 시작하여 문자 'a'가 첫 번째로 발생한 위치를 반환합니다.
search_value
인수는 대/소문자를 구분하므로 ‘Blue Fin Aqua Center’의 ‘A’를 건너뛰고 ‘Aqua’의 ‘a’에 대한 위치를 반환합니다.
INSTR( COMPANY, 'a' )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
13
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
3
VIP Diving Club
0
다음 식은 각 회사 이름의 처음부터 시작하여 문자 'a'가 두 번째로 발생한 위치를 반환합니다.
search_value
인수는 대/소문자를 구분하므로 ‘Blue Fin Aqua Center’의 ‘A’를 건너뛰고 0을 반환합니다.
INSTR( COMPANY, 'a', 1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
8
Scuba Gear
9
Frank's Dive Shop
0
VIP Diving Club
0
다음 식은 각 회사 이름의 마지막 문자부터 시작하여 문자 'a'가 두 번째로 발생한 위치를 반환합니다.
search_value
인수는 대/소문자를 구분하므로 ‘Blue Fin Aqua Center’의 ‘A’를 건너뛰고 0을 반환합니다.
INSTR( COMPANY, 'a', -1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
0
VIP Diving Club
0
다음 식은 문자열 ‘Blue Fin Aqua Center’의 첫 번째 문자 위치를 반환합니다(회사 이름의 마지막 문자부터 시작).
INSTR( COMPANY, 'Blue Fin Aqua Center', -1, 1 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
1
Maco Shark Shop
0
Scuba Gear
0
Frank's Dive Shop
0
VIP Diving Club
0

중첩된 INSTR 사용

INSTR 함수를 다른 함수 안에 중첩하여 더 복잡한 태스크를 완료할 수 있습니다.
다음 식은 문자열의 끝부터 시작하여 문자열을 평가합니다. 이 식은 문자열에서 마지막(맨 오른쪽) 공백을 찾은 다음 이 공백의 왼쪽에 있는 모든 문자를 반환합니다.
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,1 ))
CUST_NAME
RETURN VALUE
PATRICIA JONES
PATRICIA
MARY ELLEN SHAH
MARY ELLEN
다음 식은 문자열에서 문자 '#'를 제거합니다.
SUBSTR( CUST_ID, 1, INSTR(CUST_ID, '#')-1 ) || SUBSTR( CUST_ID, INSTR(CUST_ID, '#')+1 )
CUST_ID
RETURN VALUE
ID#33
ID33
#A3577
A3577
SS #712403399
SS 712403399