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

MySQL에서 컬럼의 처음 20자 이후 모든 문자 추출하는 방법 (SUBSTRING 함수)

MySQL에서 처음 20자 이후의 모든 문자 추출하기

데이터베이스 작업을 하다 보면 문자열 컬럼에서 특정 위치 이후의 내용만 필요한 경우가 자주 있습니다. MySQL에서는 SUBSTRING() 함수를 사용하면 간단하게 해결할 수 있습니다. 이번 글에서는 예제 테이블을 생성하고, 컬럼 값에서 처음 20자를 제외한 나머지 문자열을 가져오는 방법을 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    Title text
);
Query OK, 0 rows affected (0.86 sec)

2단계: 레코드 삽입

INSERT 명령문으로 테이블에 샘플 데이터를 추가합니다.

mysql> insert into DemoTable values('C is a good programming language to start');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('Java is good with data structure and algorithm');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Coding is very important');
Query OK, 1 row affected (0.20 sec)

3단계: 전체 레코드 확인

SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+------------------------------------------------+
| Title                                          |
+------------------------------------------------+
| C is a good programming language to start      |
| Java is good with data structure and algorithm |
| Coding is very important                       |
+------------------------------------------------+
3 rows in set (0.00 sec)

4단계: 처음 20자 이후의 문자 선택

컬럼에서 처음 20자 이후의 모든 문자를 가져오려면 다음과 같이 SUBSTRING(컬럼명 FROM 시작 위치) 구문을 사용합니다. 시작 위치가 20이므로 20번째 문자부터 문자열 끝까지의 내용이 반환됩니다.

mysql> select substring(Title from 20) from DemoTable;

실행 결과는 다음과 같습니다.

+-----------------------------+
| substring(Title from 20)    |
+-----------------------------+
| ming language to start      |
| ata structure and algorithm |
| rtant                       |
+-----------------------------+
3 rows in set (0.00 sec)

참고: SUBSTRING 함수의 다양한 사용 형태

SUBSTRING() 함수는 목적에 따라 여러 가지 형태로 활용할 수 있습니다.

  • SUBSTRING(str, pos) : pos 위치부터 문자열 끝까지 반환
  • SUBSTRING(str FROM pos) : 위와 동일 (SQL 표준 문법)
  • SUBSTRING(str, pos, len) : pos 위치부터 len 길이만큼 반환
  • SUBSTRING(str FROM pos FOR len) : 위와 동일 (SQL 표준 문법)

시작 위치(pos)가 음수이면 문자열 끝에서부터 거꾸로 계산된 지점부터 추출되며, pos가 0이거나 문자열 길이보다 클 경우에는 빈 문자열이 반환됩니다.

이처럼 SUBSTRING 함수 하나만으로도 문자열의 원하는 부분을 손쉽게 잘라낼 수 있습니다. 게시글 요약문 생성, 로그 데이터 가공 등 다양한 실무 상황에서 유용하게 활용해 보시기 바랍니다.