MySQL에서 문자열의 왼쪽부터 원하는 개수만큼 문자를 가져오려면 LEFT() 함수를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 LEFT() 함수의 사용법을 단계별로 살펴보겠습니다.
1. 데모 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Name varchar(100)
);
Query OK, 0 rows affected (6.58 sec)2. 샘플 데이터 삽입
INSERT 명령을 사용해 테이블에 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable values('Sam Brown');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('David Miller');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Adam Smith');
Query OK, 1 row affected (7.01 sec)
mysql> insert into DemoTable values('Carol Taylor');
Query OK, 1 row affected (0.68 sec)3. 저장된 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+--------------+ | Name | +--------------+ | Sam Brown | | David Miller | | Adam Smith | | Carol Taylor | +--------------+ 4 rows in set (0.00 sec)
4. LEFT() 함수로 왼쪽 5글자 추출하기
LEFT(컬럼명, 글자 수) 형태로 작성하면 문자열의 왼쪽에서 지정한 개수만큼 문자를 반환합니다. 아래는 각 이름의 왼쪽 5글자를 가져오고, Name 컬럼 기준으로 정렬까지 적용한 SELECT 문입니다.
mysql> select left(Name,5) from DemoTable order by Name;
실행 결과는 다음과 같습니다.
+--------------+ | left(Name,5) | +--------------+ | Adam | | Carol | | David | | Sam B | +--------------+ 4 rows in set (0.46 sec)
결과를 보면 'Adam Smith'는 'Adam'으로, 'Sam Brown'은 공백까지 포함해 'Sam B'로 정확히 5글자씩 잘려서 출력되는 것을 확인할 수 있습니다. 참고로 문자열의 오른쪽에서 문자를 추출하고 싶다면 RIGHT() 함수를 사용하면 됩니다.