포스팅 목차
COMPARE
두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다.
두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다.
차이가 없다면 0을 반환한다.
Category: | 문자열 비교 함수 |
MAIN |
문 법
COMPARE (string-1, string-2<,modifiers>) |
- string-1
- 는 문자상수,변수,표현을 지정
- modifiers(변경자)
- i 또는 I : 문자열의 대소문차이를 무시하고 비교
- l 또는 L : 비교전에 문자열의 앞의 공백을 제거후 비교
- n 또는 N : 문자열안의 인용부호를 제거하고, 대소문자 차이를 무시하고 비교
- :(colon) : 문자열1과 문자열2중에 짧은 크기의 length에 맞추어 긴 length의 문자열 길이를 잘라서 맞추어서 비교하고, 만약 변경자가 지정이 되지 않은경우에는 짧은 length에 공백을 추가하여 긴 length문자열에 맞추어서 비교를 한다
참 고
문자열1과 문자열2가 다르지 않는다면, 0을 반환한다.
만약 문자열1이 문자열2보다 소트 순서가 빠르면 음수를, 아니면 양수를 반환한다.
관련 함수
함수명 | 함수 내용 |
COMPARE | 두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다. |
COMPGED | 일반화된 편집 거리 계산에 의해 두 문자 사이의 거리를 계산한다. |
COMPLEV | Levenshtein 편집 거리 계산에 의해 두 문자의 거리 계산한다. |
CALL COMPCOST | COMPGED 함수에서 사용되는 운영 비용을 정의한다. |
SPEDIS |
두 단어 사이의 비대칭적 스펠링 거리로써 표현되는 두 단어 매칭의 가능성을 정의한다. |
예 제
예 제 1 : string-1이 string-2보다 빠른 정렬순서이면 -값을 가짐.
문자열의 비교.
* 변경자에 따르는 문자열1과 문자열2를 비교한다.
* 기본적으로 같은 문자열의 경우 0을 반환한다.
* 두 문자열이 가장 먼저 틀린 문자열의 위치를 반환하고, 틀린 위치의 문자값1이 문자값2보다 소트 순서가 빠른 경우 음수를 반환한다.
* 참조자가 i의 경우 대소문자 구분을 무시한다.
* 참조자가 l의 경우 문자열 앞의 공백을 제거 후 비교한다.
* 참조자가 n의 경우 문자열의 인용부호를 제거 후 비교한다.
* 참조자가 nl의 경우 먼저 문자열 앞의 공백과 인용부호를 제거 후 비교한다.
* 참조자가 ln의 경우 먼저 문자열 앞의 공백을 제거하고, 후에 인용부호를 제거후 비교한다.
SAS Statements |
data compare1;
infile datalines missover;
input string1 $char8. string2 $char8.
modifiers $char8.;
result=compare(string1, string2, modifiers);
datalines;
1234567812345678
123 abc
abc abx
xyz abcdef
aBc abc
aBc AbC i
abc abc
abc abc l
abc abx
abc abx l
;
Results |
string1 string2 modifiers result
12345678 12345678 0
123 abc -1
abc abx -3
xyz abcdef 1
aBc abc -2
aBc AbC i 0
abc abc -1
abc abc l 0
abc abx 2
abc abx l -3
예 제 2 :
변경자가 주어지지 않는 경우 짧은 문자열에 긴문장열 길이 만큼의 공백이 주여져서 비교를 수행한다.
‘:’ 변경자의 경우는 짧은 문자열의 길이 만큼 긴 문자열의 length를 잘라서 비교한다.
SAS Statements |
data compare2;
pad1 = compare('abc','abc ');
pad2 = compare('abc','abcdef ');
truncate1 = compare('abc','abcdef',':');
truncate2 = compare('abcdef','abc',':');
blank = compare('','abc', ':');
put _all_;
run;
Results |
pad1=0 pad2=-4 truncate1=0 truncate2=0 blank=-1
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
【SAS 함수】 98. COMPGED 함수 (0) | 2018.11.30 |
---|---|
【SAS 함수】 97. COMPBL 함수 (0) | 2018.11.29 |
[SAS 함수] 95. COMB 함수 (0) | 2018.11.29 |
[SAS 함수] 94. COLLATE 함수 (0) | 2018.11.29 |
【SAS 함수】 93. COALESCEC 함수 (0) | 2018.11.29 |
댓글