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

MySQL에서 특정 위치부터 시작하는 문자열의 부분 문자열을 추출하는 방법

MySQL에서 특정 위치부터 시작하는 문자열의 일부를 추출하려면 mid() 함수를 사용할 수 있습니다. 이 함수는 지정한 시작 위치부터 원하는 길이만큼의 부분 문자열을 반환합니다.

mid() 함수 기본 문법

select mid(컬럼명, 시작위치, 추출할길이) as 별칭 from 테이블명;

예제 테이블 생성

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

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

insert 명령을 사용하여 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable values('My best framework is Spring and Hibernate');
Query OK, 1 row affected (0.21 sec)

select 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+-------------------------------------------+
| Title                                     |
+-------------------------------------------+
| My best framework is Spring and Hibernate |
+-------------------------------------------+
1 row in set (0.00 sec)

부분 문자열 추출 쿼리

다음은 MySQL에서 문자열의 일부를 가져오는 쿼리입니다. 이 예제에서는 21번째 문자부터 시작하여 30개의 문자를 추출하려고 합니다. 만약 21번째 문자 이후의 문자 수가 30개보다 적다면, 남아 있는 문자만 출력됩니다.

mysql> select mid(Title,21,30) as partofString from DemoTable;

출력 결과

+-----------------------+
| partofString          |
+-----------------------+
| Spring and Hibernate  |
+-----------------------+
1 row in set (0.00 sec)

결과를 보면 'My best framework is '까지가 20번째 문자까지이며, 21번째 문자인 'S'부터 시작해 나머지 문자열인 'Spring and Hibernate'가 추출된 것을 확인할 수 있습니다.

참고 사항

mid() 함수는 substring() 및 substr() 함수와 동일하게 동작하므로, 세 함수 중 어느 것을 사용해도 같은 결과를 얻을 수 있습니다. 또한 시작 위치는 1부터 계산되며, 음수 값을 지정하면 문자열 끝에서부터 역방향으로 위치를 계산합니다.