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

MySQL에서 TRIM 함수로 문자열 앞뒤 쉼표(,) 제거하는 방법

MySQL TRIM 함수로 쉼표 제거하기

MySQL에서 문자열의 앞과 뒤에 붙은 쉼표를 제거하려면 TRIM(BOTH ... FROM ...) 구문을 사용하면 됩니다. 데이터 정제 과정에서 CSV 형식으로 저장된 값의 불필요한 선행·후행 쉼표를 깔끔하게 없앨 때 특히 유용합니다.

기본 문법

SELECT TRIM(BOTH ',' FROM yourColumnName) FROM yourTableName;

BOTH 키워드는 문자열의 양쪽 끝에서 지정한 문자를 모두 제거한다는 의미입니다.

예제 테이블 생성

먼저 실습용 예제 테이블을 만들어 보겠습니다.

mysql> create table TrimCommasDemo
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> AllTechnicalSkills text
    -> );
Query OK, 0 rows affected (0.81 sec)

샘플 데이터 삽입

이제 INSERT 명령을 사용해 앞뒤에 쉼표가 포함된 기술 스킬 데이터를 몇 건 입력합니다.

mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',C,C++,Java,');
Query OK, 1 row affected (0.14 sec)
mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',MySQL,SQL Server,MongoDB,');
Query OK, 1 row affected (0.13 sec)
mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',Spring Framework,Hibernate Framework,');
Query OK, 1 row affected (0.13 sec)

저장된 데이터 확인

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

mysql> select *from TrimCommasDemo;

실행 결과는 다음과 같습니다. 각 값의 시작과 끝에 쉼표가 붙어 있는 것을 확인할 수 있습니다.

+----+----------------------------------------+
| Id | AllTechnicalSkills                     |
+----+----------------------------------------+
| 1  | ,C,C++,Java,                           |
| 2  | ,MySQL,SQL Server,MongoDB,             |
| 3  | ,Spring Framework,Hibernate Framework, |
+----+----------------------------------------+
3 rows in set (0.00 sec)

TRIM(BOTH)으로 쉼표 제거하기

아래 쿼리는 MySQL에서 문자열의 선행 및 후행 쉼표를 잘라내는 방법입니다.

mysql> select TRIM(BOTH ',' FROM AllTechnicalSkills) from TrimCommasDemo;

실행 결과, 앞뒤 쉼표가 모두 제거되고 중간에 있는 쉼표만 그대로 유지되는 것을 볼 수 있습니다.

+----------------------------------------+
| TRIM(BOTH ',' FROM AllTechnicalSkills) |
+----------------------------------------+
| C,C++,Java                             |
| MySQL,SQL Server,MongoDB               |
| Spring Framework,Hibernate Framework   |
+----------------------------------------+
3 rows in set (0.00 sec)

정리

TRIM(BOTH ',' FROM 컬럼명) 구문은 MySQL에서 문자열 양쪽 끝의 쉼표를 손쉽게 제거할 수 있는 가장 간단한 방법입니다. 참고로 LEADING(앞쪽만 제거) 또는 TRAILING(뒤쪽만 제거) 옵션을 사용하면 한쪽 방향의 쉼표만 선택적으로 제거할 수도 있습니다.