MySQL LEFT() 함수란?
MySQL 테이블의 특정 열에 저장된 데이터에서 시작 부분의 일정 개수만큼 문자를 추출하려면 LEFT() 함수를 사용하면 됩니다. 이 함수는 인자로 지정한 개수만큼의 문자를 반환합니다.
LEFT() 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 시작 문자를 가져올 데이터가 저장된 열의 이름이고, 두 번째 인자는 반환받을 문자의 개수입니다.
예제 테이블 소개
LEFT() 함수의 사용법을 살펴보기 위해 학생들의 시험 정보를 담고 있는 'examination_btech' 테이블을 예로 들어보겠습니다. 이 테이블은 다음과 같은 데이터를 포함하고 있습니다.
mysql> Select * from examination_btech; +-----------+----------+--------+ | RollNo | Name | Course | +-----------+----------+--------+ | 201712001 | Rahul | B.tech | | 201712002 | Raman | B.tech | | 201712003 | Sahil | B.tech | | 201712004 | Shalini | B.tech | | 201712005 | Pankaj | B.tech | | 201712006 | Mohan | B.tech | | 201712007 | Yash | B.tech | | 201712008 | digvijay | B.tech | | 201712009 | Gurdas | B.tech | | 201712010 | Preeti | B.tech | +-----------+----------+--------+ 10 rows in set (0.00 sec)
LEFT() 함수로 시작 문자 추출하기
위 테이블에서 학생 번호(RollNo)의 앞 여섯 자리, 즉 입학 연도와 학과 코드에 해당하는 부분만 추출하고 싶다면 다음과 같이 LEFT() 함수를 활용할 수 있습니다.
mysql> Select LEFT(RollNo, 6) FROM examination_btech; +-----------------+ | LEFT(RollNo, 6) | +-----------------+ | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | | 201712 | +-----------------+ 10 rows in set (0.00 sec)
결과를 보면 모든 행에서 RollNo 열 값의 처음 여섯 글자인 '201712'가 반환된 것을 확인할 수 있습니다. 이처럼 LEFT() 함수는 열 이름과 원하는 문자 개수만 지정하면 손쉽게 데이터의 시작 부분을 추출해 줍니다.
추가 팁
반환되는 열 이름을 더 의미 있게 표시하고 싶다면 별칭(Alias)을 사용할 수 있습니다. 예를 들어 SELECT LEFT(RollNo, 6) AS AdmissionCode FROM examination_btech;처럼 작성하면 결과 열의 이름이 'AdmissionCode'로 표시되어 가독성이 크게 향상됩니다.