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

MySQL에서 열 업데이트 시 후행 밑줄(_) 문자 제거하는 방법

MySQL에서 데이터를 다루다 보면 컬럼 값 끝에 불필요한 밑줄(_)이 붙어 있는 경우가 종종 있습니다. 이런 후행 문자를 제거하려면 TRIM() 함수를 활용하면 됩니다. 아래의 UPDATE 문법처럼 TRAILING 옵션과 함께 사용하면 문자열 뒤쪽의 특정 문자만 깔끔하게 삭제할 수 있습니다.

후행 문자 제거 기본 문법

UPDATE yourTableName
SET yourColumnName = TRIM(TRAILING '_' FROM yourColumnName);

실습 예제

1. 테이블 생성

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

mysql> CREATE TABLE DemoTable1521
-> (
-> StudentCode VARCHAR(20)
-> );
Query OK, 0 rows affected (1.33 sec)

2. 데이터 삽입

INSERT 명령어를 사용해 밑줄이 포함된 레코드와 그렇지 않은 레코드를 함께 입력합니다.

mysql> INSERT INTO DemoTable1521 VALUES('345_');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable1521 VALUES('12345');
Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO DemoTable1521 VALUES('9084_');
Query OK, 1 row affected (1.29 sec)

3. 현재 데이터 확인

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

mysql> SELECT * FROM DemoTable1521;

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

+-------------+
| StudentCode |
+-------------+
| 345_ |
| 12345 |
| 9084_ |
+-------------+
3 rows in set (0.00 sec)

TRIM()으로 후행 밑줄 제거하기

이제 UPDATE 문과 TRIM() 함수를 조합하여 컬럼 값 끝의 밑줄을 제거합니다.

mysql> UPDATE DemoTable1521
-> SET StudentCode = TRIM(TRAILING '_' FROM StudentCode);
Query OK, 2 rows affected (0.34 sec)
Rows matched: 3 Changed: 2 Warnings: 0

결과 메시지를 보면 총 3개 행이 조회되었고, 실제로 변경된 행은 2개입니다. 이는 이미 밑줄이 없던 '12345' 레코드는 변경 대상에서 제외되었기 때문입니다.

변경 결과 확인

테이블을 다시 조회하여 업데이트가 정상적으로 적용되었는지 확인합니다.

mysql> SELECT * FROM DemoTable1521;

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

+-------------+
| StudentCode |
+-------------+
| 345 |
| 12345 |
| 9084 |
+-------------+
3 rows in set (0.00 sec)

정리

TRIM(TRAILING '문자' FROM 컬럼명) 구문을 사용하면 MySQL에서 특정 컬럼의 후행 문자를 손쉽게 제거할 수 있습니다. 참고로 TRIM() 함수는 옵션에 따라 다음과 같이 확장할 수 있습니다.

  • TRAILING: 문자열 끝의 지정 문자만 제거
  • LEADING: 문자열 앞의 지정 문자만 제거
  • BOTH: 문자열 양쪽 끝의 지정 문자를 모두 제거

옵션을 생략하면 기본값인 BOTH로 동작하며 공백을 제거합니다. 데이터 정제 작업 시 유용하게 활용해 보시기 바랍니다.