테이블에 있는 두 개의 열 데이터 값을 서로 비교하려면 MySQL STRCMP() 함수의 인자로 비교할 열 이름들을 전달하면 됩니다. 예를 들어, 학생 이름과 과목별 취득 점수가 담긴 'marks'라는 테이블이 있다고 가정해 보겠습니다. 특정 학생이 두 과목에서 어느 과목의 점수가 더 높은지, 낮은지, 아니면 같은지 확인하고 싶다면 STRCMP() 함수를 다음과 같이 활용할 수 있습니다.
사용 예제
mysql> Select Name, STRCMP(Math,Hindi) from student marks WHERE Name = 'Rahul'; +-------+--------------------+ | Name | STRCMP(Math,Hindi) | +-------+--------------------+ | Rahul | 1 | +-------+--------------------+ 1 row in set (0.00 sec)
위 쿼리는 'Rahul'이라는 학생의 수학(Math) 점수와 힌디어(Hindi) 점수를 비교합니다. 결과값으로 1이 반환된 것을 보면, Rahul이 힌디어보다 수학에서 더 높은 점수를 받았다는 사실을 알 수 있습니다.
STRCMP() 함수의 반환값 의미
STRCMP(문자열1, 문자열2) 함수는 두 인자를 비교한 결과를 정수로 반환합니다.
- 0: 두 값이 완전히 같은 경우
- -1: 첫 번째 값이 두 번째 값보다 작은 경우
- 1: 첫 번째 값이 두 번째 값보다 큰 경우
따라서 위 예제에서 반환값이 1이라는 것은 수학 점수가 힌디어 점수보다 크다는 의미입니다. 이처럼 STRCMP() 함수를 활용하면 별도의 조건문 없이도 두 열의 대소 관계를 손쉽게 파악할 수 있습니다.