SQL 공부 중인데, STRCMP() 함수 작동방식에 관해서...
본문
SELECT STRCMP("Homzzang.com", "Homzzang.com");
// 0
SELECT STRCMP("Homzzang.com", "homzzang.com");
// 0
SELECT STRCMP("Good Homzzang.com", "Best Homzzang.com");
// 1
SELECT STRCMP("Good Homzzang.com", "Hot Homzzang.com");
// -1
SELECT STRCMP("Hot Homzzang.com", "Best Homzzang.com");
// 1
위 파란색 결과들 숫자가 어떤 근거로 해서 나오는 건가요? ㅡㅡ;
함수 매개변수 설명과 좀 다른 것 같아요. ㅜㅜ
구글링 해보면, 이 함수는 대소문자 구분하는 걸로 나오던데...
정확히 어떤 식으로 비교를 하는 건가요 ?
STRCMP() 구문
STRCMP(string1, string2)
[매개변수]
string1, string2
필수. 비교할 두 문자열
string1 = string2 경우, 0 반환
string1 < string2 경우, -1 반환
string1 > string2 경우, 1 반환
답변 1
대소문자는 구분하지 않는 것으로 알고 있구요.
SELECT STRCMP("Homzzang.com", "Homzzang.com");
// 0 일치
SELECT STRCMP("Homzzang.com", "homzzang.com");
// 0 일치
SELECT STRCMP("Good Homzzang.com", "Best Homzzang.com");
// 1 G가 B보다 크다
SELECT STRCMP("Good Homzzang.com", "Hot Homzzang.com");
// -1 G가 H보다 작다
SELECT STRCMP("Hot Homzzang.com", "Best Homzzang.com");
// 1 H가 B보다 크다
첫글자를 비교하고 동일하면 그다음글자, 또 동일하면 그 다음 글자..
이렇게 비교합니다.
일종의 글자 정렬 순서라고나 할까요..^^