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

MySQL 쿼리로 열 값에서 첫 번째 단어만 제거하는 방법

MySQL에서 열 값의 첫 번째 단어만 제거하기

열 값에서 첫 번째 단어만 제거하려면 SUBSTRING() 함수와 LOCATE() 함수를 함께 사용하면 됩니다. LOCATE()로 첫 번째 공백의 위치를 찾은 후, 그다음 문자부터 문자열을 잘라내는 방식입니다.

기본 문법

SELECT SUBSTRING(yourColumnName, LOCATE(' ', yourColumnName)+1) AS anyAliasName FROM yourTableName;

동작 원리

  • LOCATE(' ', 컬럼명) : 문자열에서 첫 번째 공백의 위치를 반환합니다.
  • +1 : 공백 바로 다음 문자부터 추출하기 위해 위치에 1을 더합니다.
  • SUBSTRING(컬럼명, 위치) : 지정한 위치부터 문자열 끝까지의 부분 문자열을 반환합니다.

예제 테이블 생성

먼저 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE DemoTable
(
    Title text
);
Query OK, 0 rows affected (0.50 sec)

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

mysql> INSERT INTO DemoTable VALUES('Java in Depth');
Query OK, 1 row affected (0.49 sec)
mysql> INSERT INTO DemoTable VALUES('C++ is an object oriented programming language');
Query OK, 1 row affected (0.47 sec)
mysql> INSERT INTO DemoTable VALUES('MySQL is a relational database');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('Python with data structure');
Query OK, 1 row affected (0.24 sec)

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> SELECT *FROM DemoTable;

위 쿼리는 다음과 같은 결과를 출력합니다.

+------------------------------------------------+
| Title                                          |
+------------------------------------------------+
| Java in Depth                                  |
| C++ is an object oriented programming language |
| MySQL is a relational database                 |
| Python with data structure                     |
+------------------------------------------------+
4 rows in set (0.00 sec)

첫 번째 단어를 제거하는 쿼리 실행

다음은 열 값에서 첫 번째 단어를 제거하는 쿼리입니다.

mysql> SELECT SUBSTRING(Title, LOCATE(' ', Title)+1) AS RemoveFirstWord FROM DemoTable;

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

+--------------------------------------------+
| RemoveFirstWord                            |
+--------------------------------------------+
| in Depth                                   |
| is an object oriented programming language |
| is a relational database                   |
| with data structure                        |
+--------------------------------------------+
4 rows in set (0.00 sec)

출력 결과를 확인해 보면 각 Title 값에서 첫 번째 단어가 제거되고, 첫 번째 공백 이후의 나머지 문자열만 반환된 것을 알 수 있습니다. 이처럼 SUBSTRING()과 LOCATE()의 조합은 별도의 복잡한 처리 없이도 문자열 앞부분의 특정 단어를 손쉽게 제거할 수 있는 유용한 방법입니다.