BPCHARCMP 함수
두 문자열의 값을 비교한 후 정수를 반환합니다. 문자열이 서로 동일한 경우에는 함수가 0
을 반환합니다. 첫 번째 문자열이 알파벳 순으로 더 큰 경우에는 함수가 1
을 반환합니다. 두 번째 문자열이 더 크면 함수가 -1
을 반환합니다.
멀티바이트 문자일 때는 바이트 인코딩을 기준으로 비교합니다.
BTTEXT_PATTERN_CMP 함수의 동의어입니다.
구문
BPCHARCMP(string1, string2)
인수
- string1
-
CHAR
문자열 또는VARCHAR
문자열입니다. - string2
-
CHAR
문자열 또는VARCHAR
문자열입니다.
반환 타입
INTEGER
예시
다음 예제에서는 TICKIT 샘플 데이터베이스의 USERS 테이블을 사용합니다. 자세한 내용은 샘플 데이터베이스 단원을 참조하십시오.
USERS 테이블의 처음 10개 항목에 대해 사용자의 이름이 알파벳 순서로 사용자의 성보다 높은지 확인하려면 다음 예를 사용합니다. FIRSTNAME의 문자열이 LASTNAME의 문자열보다 알파벳순으로 뒤에 있는 항목의 경우 이 함수는 1
을 반환합니다. 반대로 LASTNAME이 FIRSTNAME보다 뒤에 있으면 함수는 -1
을 반환합니다.
SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname) FROM users ORDER BY 1, 2, 3, 4 LIMIT 10;
+--------+-----------+-----------+-----------+ | userid | firstname | lastname | bpcharcmp | +--------+-----------+-----------+-----------+ | 1 | Rafael | Taylor | -1 | | 2 | Vladimir | Humphrey | 1 | | 3 | Lars | Ratliff | -1 | | 4 | Barry | Roy | -1 | | 5 | Reagan | Hodge | 1 | | 6 | Victor | Hernandez | 1 | | 7 | Tamekah | Juarez | 1 | | 8 | Colton | Roy | -1 | | 9 | Mufutau | Watkins | -1 | | 10 | Naida | Calderon | 1 | +--------+-----------+-----------+-----------+
함수가 0
을 반환하는 USERS 테이블의 모든 항목을 반환하려면 다음 예제를 사용합니다. 이 함수는 FIRSTNAME이 LASTNAME과 같으면 0
을 반환합니다.
SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname) FROM users WHERE BPCHARCMP(firstname, lastname)=0 ORDER BY 1, 2, 3, 4;
+--------+-----------+----------+-----------+ | userid | firstname | lastname | bpcharcmp | +--------+-----------+----------+-----------+ | 62 | Chase | Chase | 0 | | 4008 | Whitney | Whitney | 0 | | 12516 | Graham | Graham | 0 | | 13570 | Harper | Harper | 0 | | 16712 | Cooper | Cooper | 0 | | 18359 | Chase | Chase | 0 | | 27530 | Bradley | Bradley | 0 | | 31204 | Harding | Harding | 0 | +--------+-----------+----------+-----------+