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

MySQL에서 값의 일부 텍스트 제거하기 – REPLACE() 함수 활용법

MySQL에서 컬럼 값에 포함된 특정 텍스트(부분 문자열)를 제거하려면 REPLACE() 함수를 사용하면 됩니다. REPLACE() 함수는 지정한 문자열을 찾아 다른 문자열로 치환하는 기능을 하며, 빈 문자열('')로 치환하면 사실상 해당 텍스트를 삭제하는 효과를 얻을 수 있습니다.

REPLACE() 함수 기본 문법

UPDATE yourTableName
SET yourColumnName = REPLACE(yourColumnName, 'yourValue', '');

위 문법에서 세 번째 인자에 빈 문자열을 넣으면, 해당 컬럼 값에서 찾은 텍스트가 그대로 제거됩니다.

1단계: 예제 테이블 생성

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

mysql> CREATE TABLE removePartialTextDemo
-> (
-> JavaVersionDetails VARCHAR(100)
-> );
Query OK, 0 rows affected (0.51 sec)

2단계: 데이터 삽입

INSERT 명령어를 사용해 자바 버전 정보가 담긴 레코드를 여러 개 삽입합니다.

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 1.0');
Query OK, 1 row affected (0.50 sec)

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 1.1');
Query OK, 1 row affected (0.23 sec)

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 1.2');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 1.3');
Query OK, 1 row affected (0.27 sec)

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 1.4');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO removePartialTextDemo VALUES('Java Version 7');
Query OK, 1 row affected (0.11 sec)

3단계: 현재 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM removePartialTextDemo;

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

+--------------------+
| JavaVersionDetails |
+--------------------+
| Java Version 1.0 |
| Java Version 1.1 |
| Java Version 1.2 |
| Java Version 1.3 |
| Java Version 1.4 |
| Java Version 7 |
+--------------------+
6 rows in set (0.00 sec)

4단계: REPLACE()로 부분 텍스트 제거

이제 UPDATE 문과 REPLACE() 함수를 조합하여 값에서 'Java Version '이라는 공통 접두사를 제거하고 버전 숫자만 남겨보겠습니다.

mysql> UPDATE removePartialTextDemo SET
JavaVersionDetails = REPLACE(JavaVersionDetails, 'Java Version ', '');
Query OK, 6 rows affected (0.09 sec)
Rows matched: 6 Changed: 6 Warnings: 0

5단계: 결과 확인

테이블을 다시 조회하여 부분 텍스트가 정상적으로 제거되었는지 확인합니다.

mysql> SELECT * FROM removePartialTextDemo;

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

+--------------------+
| JavaVersionDetails |
+--------------------+
| 1.0 |
| 1.1 |
| 1.2 |
| 1.3 |
| 1.4 |
| 7 |
+--------------------+
6 rows in set (0.00 sec)

위 출력 결과를 보면 모든 레코드에서 'Java Version ' 텍스트가 제거되고 버전 번호만 남은 것을 확인할 수 있습니다. 이처럼 REPLACE() 함수와 UPDATE 문을 함께 사용하면 대량의 데이터에서도 특정 문자열을 한 번에 간편하게 제거할 수 있습니다.