MySQL에서 문자열의 왼쪽부터 지정한 길이만큼만 잘라서 표시하고 싶다면 LEFT() 함수를 사용하면 됩니다. 이 함수는 첫 번째 인자로 컬럼 또는 문자열을, 두 번째 인자로 반환할 문자 수를 받아 왼쪽부터 해당 개수만큼의 문자만 반환합니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
-> (
-> Title text
-> );
Query OK, 0 rows affected (0.59 sec)
2. 데이터 삽입하기
INSERT 명령을 사용해 테이블에 샘플 레코드를 추가합니다.
mysql> insert into DemoTable values('Java database connectivity to MySQL database');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Python with django framework');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('C with data structure and algorithm');
Query OK, 1 row affected (0.33 sec)3. 전체 레코드 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인합니다.
mysql> select *from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+----------------------------------------------+
| Title |
+----------------------------------------------+
| Java database connectivity to MySQL database |
| Python with django framework |
| C with data structure and algorithm |
+----------------------------------------------+
3 rows in set (0.00 sec)
4. LEFT() 함수로 왼쪽 15자만 표시하기
이제 LEFT(Title, 15)를 사용하여 Title 컬럼의 값 중 왼쪽에서 15개 문자만 표시하는 쿼리입니다.
mysql> select left(Title,15) as Title from DemoTable;
실행 결과는 다음과 같습니다.
+-----------------+
| Title |
+-----------------+
| Java database c |
| Python with dja |
| C with data str |
+-----------------+
3 rows in set (0.00 sec)
출력 결과를 보면 각 문자열이 왼쪽부터 정확히 15자까지만 잘려서 표시된 것을 확인할 수 있습니다. 이처럼 LEFT() 함수는 게시판 목록에서 제목을 짧게 요약해서 보여주거나, 미리보기 텍스트를 생성할 때 매우 유용하게 활용됩니다. 참고로 오른쪽부터 자르고 싶다면 RIGHT() 함수를, 문자열 중간 일부를 추출하려면 SUBSTRING() 함수를 사용하면 됩니다.