MySQL에서 문자열 값 중 처음 15자만 반환하고 싶다면 SUBSTR() 함수를 사용하면 됩니다. SUBSTR() 함수는 지정한 시작 위치부터 원하는 길이만큼의 부분 문자열을 잘라내어 반환하는 기능을 제공합니다.
1. 테스트용 테이블 생성
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
(
Title varchar(100)
);
Query OK, 0 rows affected (0.69 sec)2. 샘플 데이터 삽입
INSERT 명령을 사용하여 테이블에 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable values('Introduction to MySQL');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Introduction to Java');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('C in Depth with data structure and algorithm');
Query OK, 1 row affected (0.15 sec)3. 전체 레코드 확인
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+----------------------------------------------+ | Title | +----------------------------------------------+ | Introduction to MySQL | | Introduction to Java | | C in Depth with data structure and algorithm | +----------------------------------------------+ 3 rows in set (0.00 sec)
4. SUBSTR()로 처음 15자만 가져오기
이제 SUBSTR() 함수를 사용하여 문자열의 처음 15자만 조회하는 쿼리를 실행해 보겠습니다. substr(컬럼명, 시작위치, 길이) 형식으로 작성하며, 여기서는 시작 위치를 1, 길이를 15로 지정합니다.
mysql> select substr(Title,1,15) from DemoTable;
실행 결과는 다음과 같습니다.
+--------------------+ | substr(Title,1,15) | +--------------------+ | Introduction to | | Introduction to | | C in Depth with | +--------------------+ 3 rows in set (0.00 sec)
추가 팁: 별칭(Alias) 사용하기
결과 컬럼명이 substr(Title,1,15)처럼 길게 표시되는 것이 불편하다면 AS 키워드로 별칭을 지정할 수 있습니다.
mysql> select substr(Title,1,15) AS ShortTitle from DemoTable;
또한 MySQL에서는 SUBSTR()과 동일하게 동작하는 SUBSTRING() 함수도 제공되므로, 어느 쪽을 사용해도 결과는 같습니다. 이 방법은 게시판 목록에서 긴 제목을 요약해서 보여주거나, 미리보기 텍스트를 생성할 때 매우 유용하게 활용됩니다.