Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 열에서 처음 N개 문자만 추출하는 방법 – SUBSTRING() 함수 완벽 가이드

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개 문자를 간단하게 추출할 수 있습니다. 게시글 미리보기, 요약 텍스트 생성 등 다양한 상황에서 유용하게 사용해 보세요.