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

MySQL TRIM() 함수로 열 값에서 특정 문자열을 제거하고 테이블 업데이트하는 방법

MySQL에서는 TRIM() 함수UPDATE 문을 함께 사용하면 열 값에서 특정 문자열을 제거한 뒤 테이블을 손쉽게 업데이트할 수 있습니다. 아래 예시를 통해 'examination_btech' 테이블을 활용해 그 사용법을 자세히 살펴보겠습니다.

예제 1: 문자열 끝부분(Trailing) 제거하기

'Course' 열의 값 끝에 붙어 있는 '(CSE)'라는 문자열을 삭제하고, 동시에 테이블도 업데이트하고 싶다면 다음과 같은 쿼리를 실행하면 됩니다.

mysql> Update examination_btech SET Course = TRIM(Trailing '(CSE)' FROM Course);
Query OK, 10 rows affected (0.13 sec)

mysql> Select * from examination_btech;
+-----------+----------+--------+
| RollNo    | Name     | Course |
+-----------+----------+--------+
| 201712001 | Rahul    | B.tech |
| 201712002 | Raman    | B.tech |
| 201712003 | Sahil    | B.tech |
| 201712004 | Shalini  | B.tech |
| 201712005 | Pankaj   | B.tech |
| 201712006 | Mohan    | B.tech |
| 201712007 | Yash     | B.tech |
| 201712008 | digvijay | B.tech |
| 201712009 | Gurdas   | B.tech |
| 201712010 | Preeti   | B.tech |
+-----------+----------+--------+
10 rows in set (0.00 sec)

위 결과 집합을 보면 'Course' 열의 끝에서 '(CSE)'가 성공적으로 제거되었고, 테이블 역시 정상적으로 업데이트된 것을 확인할 수 있습니다.

예제 2: 문자열 앞부분(Leading) 제거하기

같은 방식으로 TRIM() 함수를 활용하면 문자열의 시작 부분에 있는 특정 문자열도 제거하면서 테이블을 업데이트할 수 있습니다.

mysql> Update examination_btech SET RollNo = TRIM(Leading '201712' FROM RollNo);
Query OK, 10 rows affected (0.04 sec)

mysql> Select * from examination_btech;
+--------+----------+--------+
| RollNo | Name     | Course |
+--------+----------+--------+
| 1      | Rahul    | B.Tech |
| 2      | Raman    | B.Tech |
| 3      | Sahil    | B.Tech |
| 4      | Shalini  | B.Tech |
| 5      | Pankaj   | B.Tech |
| 6      | Mohan    | B.Tech |
| 7      | Yash     | B.Tech |
| 8      | digvijay | B.Tech |
| 9      | Gurdas   | B.Tech |
| 10     | Preeti   | B.Tech |
+--------+----------+--------+
10 rows in set (0.00 sec)

위 결과에서 확인할 수 있듯이 'RollNo' 열의 시작 부분에서 '201712'가 제거되었으며, 테이블도 함께 업데이트되었습니다.

정리

TRIM() 함수는 세 가지 모드를 지원합니다.

  • Trailing: 문자열 끝에서 지정한 문자열 제거
  • Leading: 문자열 시작 부분에서 지정한 문자열 제거
  • Both: 문자열 양쪽 끝에서 지정한 문자열 제거

이처럼 UPDATE 문 안에서 TRIM() 함수를 조합하면 별도의 복잡한 처리 없이 대량의 데이터에서 원하는 문자열을 한 번에 정리할 수 있어 데이터 클렌징 작업에 매우 유용합니다.