SAS FUNCTION
SAS 9.1.3
Go to Documentation Home
HOME
Go to Book List
FUN_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
SAS  9.1.3
Go to Feedback page
MAIL
COMPARE
Go to previous page
Previous
Go to next page
Next
처음메뉴로

96. COMPARE



두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다.
차이가 없다면 0을 반환한다.
Category: 수 학

문 법
인 수
참 고
예 제
함 수 비 교

문법

MAIN

COMPARE (string-1, string-2<,modifiers>)

Arguments

string-1
는 문자상수,변수,표현을 지정

modifiers(변경자)
i 또는 I   : 문자열의 대소문차이를 무시하고 비교

l 또는 L  : 비교전에 문자열의 앞의 공백을 제거후 비교

n 또는 N : 문자열안의 인용부호를 제거하고, 대소문자 차이를 무시하고 비교

:(colon)  : 문자열1과 문자열2중에 짧은 크기의 length에 맞추어 긴 length의 문자열 길이를 잘라서 맞추어서 비교하고,

          만약 변경자가 지정이 되지 않은경우에는 짧은 length에 공백을 추가하여 긴 length문자열에 맞추어서 비교를 한다


참고

문자열1과 문자열2가 다르지 않는다면, 0을 반환한다.
만약 문자열1이 문자열2보다 소트 순서가 빠르면 음수를, 아니면 양수를 반환한다.

예제

MAIN

 

예 제 1 : string-1이 string-2보다 빠른 정렬순서이면 -값을 가짐.

문자열의 비교.
 * 변경자에 따르는 문자열1과 문자열2를 비교한다.
 * 기본적으로 같은 문자열의 경우 0을 반환한다.
 * 두 문자열이 가장 먼저 틀린 문자열의 위치를 반환하고, 틀린 위치의 문자값1이 문자값2보다 소트 순서가 빠른 경우 음수를 반환한다.
 * 참조자가 i의 경우 대소문자 구분을 무시한다.
 * 참조자가 l의 경우 문자열 앞의 공백을 제거 후 비교한다.
 * 참조자가 n의 경우 문자열의 인용부호를 제거 후 비교한다.
 * 참조자가 nl의 경우 먼저 문자열 앞의 공백과 인용부호를 제거 후 비교한다.
 * 참조자가 ln의 경우 먼저 문자열 앞의 공백을 제거하고, 후에 인용부호를 제거후 비교한다.

SAS Statements Results
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
;

 

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 Results
data compare2;
     pad1 = compare('abc','abc ');
     pad2 = compare('abc','abcdef ');
     truncate1 = compare('abc','abcdef',':');
     truncate2 = compare('abcdef','abc',':');
     blank = compare('','abc', ':');
     put _all_;
run;

 

pad1=0 pad2=-4 truncate1=0 truncate2=0 blank=-1

 

 


함수비교

Functions:

098.COMPGED

  099.COMPLEV
  037.CALL COMPCOST

2006년 백승민 제작하였답니다. 
( http://cafe.daum.net/statsas )