MySQL에서 특정 열(column)의 처음 N개 문자만 가져오고 싶다면 SUBSTRING() 함수를 사용하면 됩니다. 이 함수는 문자열의 시작 위치와 길이를 지정해 원하는 부분만 손쉽게 추출할 수 있게 해줍니다.
1. 테이블 생성하기
먼저 실습에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
(
Information text
);
Query OK, 0 rows affected (2.63 sec)
2. 데이터 삽입하기
INSERT 문을 이용해 테이블에 샘플 데이터를 넣어 줍니다.
mysql> insert into DemoTable values('MySQL is a structured query language');
Query OK, 1 row affected (0.13 sec)3. 저장된 데이터 확인하기
SELECT 문으로 테이블의 전체 레코드를 조회해 보겠습니다.
mysql> select * from DemoTable;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+--------------------------------------+
| Information |
+--------------------------------------+
| MySQL is a structured query language |
+--------------------------------------+
1 row in set (0.00 sec)
4. SUBSTRING()으로 처음 N개 문자 추출하기
이제 본격적으로 열에서 앞부분 문자열만 가져오는 방법을 알아보겠습니다. 아래 예제에서는 SUBSTRING(컬럼명, 시작 위치, 길이) 형식을 사용해 첫 번째 문자부터 10개의 문자만 선택합니다.
mysql> select substring(Information, 1, 10) from DemoTable;
실행 결과는 다음과 같습니다.
+-----------------------------+
| substring(Information,1,10) |
+-----------------------------+
| MySQL is a |
+-----------------------------+
1 row in set (0.00 sec)
SUBSTRING() 함수의 인자 설명
- 첫 번째 인자: 대상이 되는 컬럼 또는 문자열 (예: Information)
- 두 번째 인자: 추출을 시작할 위치입니다. MySQL은 1부터 시작하므로, 맨 앞 문자부터 추출하려면 1을 지정합니다.
- 세 번째 인자: 추출할 문자 개수(N)입니다. 위 예제에서는 10개의 문자를 가져왔습니다.
추가 팁: LEFT() 함수도 활용 가능
문자열의 앞부분만 자르는 경우라면 LEFT() 함수를 사용하는 것도 좋은 방법입니다. LEFT(Information, 10)처럼 작성하면 동일한 결과를 얻을 수 있으며, 코드가 더 간결해집니다.
mysql> select left(Information, 10) from DemoTable;
이처럼 MySQL에서는 SUBSTRING() 또는 LEFT() 함수를 활용해 열의 처음 N개 문자를 간단하게 추출할 수 있습니다. 게시글 미리보기, 요약 텍스트 생성 등 다양한 상황에서 유용하게 사용해 보세요.