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

MySQL 테이블 값에서 백분율(%) 기호만 제거하는 방법

MySQL에서 저장된 데이터에 백분율(%) 기호가 포함되어 있어 숫자로만 활용하고 싶은 경우가 종종 있습니다. 이럴 때는 REPLACE() 함수를 사용하면 간단하게 해결할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, UPDATE 문과 REPLACE 함수를 활용해 값에서 % 기호만 제거하는 과정을 단계별로 살펴보겠습니다.

1. 예제 테이블 생성

먼저 고객 이름과 이자율을 저장할 테이블을 생성합니다.

mysql> create table DemoTable828(
   CustomerName varchar(100),
   InterestRate varchar(100)
);
Query OK, 0 rows affected (0.50 sec)

2. 샘플 데이터 삽입

INSERT 명령을 사용하여 % 기호가 포함된 이자율 데이터를 입력합니다.

mysql> insert into DemoTable828 values('Chris','10%');
Query OK, 1 row affected (0.60 sec)
mysql> insert into DemoTable828 values('Robert','11.5%');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable828 values('David','15.90%');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable828 values('Bob','20%');
Query OK, 1 row affected (0.16 sec)

3. 현재 데이터 확인

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

mysql> select *from DemoTable828;

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

+--------------+--------------+
| CustomerName | InterestRate |
+--------------+--------------+
| Chris        | 10%          |
| Robert       | 11.5%        |
| David        | 15.90%       |
| Bob          | 20%          |
+--------------+--------------+
4 rows in set (0.00 sec)

4. REPLACE() 함수로 % 기호 제거하기

MySQL 테이블의 값에서 백분율 기호를 제거하는 핵심 쿼리는 다음과 같습니다.

mysql> update DemoTable828 set InterestRate=replace(InterestRate,'%','');
Query OK, 4 rows affected (0.18 sec)
Rows matched: 4 Changed: 4 Warnings: 0

REPLACE(문자열, 찾을_문자, 바꿀_문자) 형태로 사용하며, 위 쿼리는 InterestRate 컬럼의 모든 값에서 '%' 문자를 빈 문자열('')로 치환합니다. 즉, % 기호만 깔끔하게 삭제되고 숫자 부분은 그대로 유지됩니다.

참고: REPLACE 함수는 해당 컬럼의 모든 행에 일괄 적용되므로, 특정 조건의 행만 수정하려면 WHERE 절을 함께 사용하는 것이 좋습니다. 또한 향후 수치 연산이 필요하다면 컬럼 타입을 DECIMAL 등 숫자형으로 변경하는 것도 고려해 볼 수 있습니다.

5. 변경 결과 확인

업데이트 후 테이블의 레코드를 다시 한번 조회해 보겠습니다.

mysql> select *from DemoTable828;

% 기호가 성공적으로 제거된 것을 확인할 수 있습니다.

+--------------+--------------+
| CustomerName | InterestRate |
+--------------+--------------+
| Chris        | 10           |
| Robert       | 11.5         |
| David        | 15.90        |
| Bob          | 20           |
+--------------+--------------+
4 rows in set (0.00 sec)

마무리

이처럼 MySQL에서는 UPDATE 문과 REPLACE() 함수를 조합하면 별도의 외부 스크립트 없이도 컬럼 값에서 특정 문자(예: % 기호)를 손쉽게 제거할 수 있습니다. 데이터 정제나 마이그레이션 작업 시 유용하게 활용해 보시기 바랍니다.