MySQL에서 후행 공백 제거하기
MySQL에서 문자열 끝에 붙어 있는 공백, 즉 후행 공백(trailing space)을 제거하려면 RTRIM() 함수를 사용하면 됩니다. 이 함수는 문자열의 오른쪽 끝에 있는 모든 공백을 잘라낸 결과를 반환합니다.
먼저 예제로 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
-> (
-> FirstName varchar(50)
-> );
Query OK, 0 rows affected (1.38 sec)
insert 명령을 사용해 테이블에 몇 개의 레코드를 삽입합니다. 일부 값에는 의도적으로 뒤쪽 공백을 포함시켰습니다.
mysql> insert into DemoTable values('John ');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Chris ');
Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable values(' David ');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Mike');
Query OK, 1 row affected (0.17 sec)select 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-------------------+
| FirstName |
+-------------------+
| John |
| Chris |
| David |
| Mike |
+-------------------+
4 rows in set (0.00 sec)
'John'과 'Chris'에는 뒤쪽 공백이 포함되어 있고, ' David '에는 앞뒤 공백이 모두 들어 있습니다. 이제 RTRIM()을 사용해 후행 공백을 제거하는 MySQL 쿼리는 다음과 같습니다.
mysql> select rtrim(FirstName) as FirstName from DemoTable;
실행 결과는 다음과 같습니다.
+-------------+
| FirstName |
+-------------+
| John |
| Chris |
| David |
| Mike |
+-------------+
4 rows in set (0.00 sec)
출력 결과를 보면 각 이름 뒤에 있던 공백이 모두 제거된 것을 확인할 수 있습니다.
참고: 함께 알아두면 좋은 문자열 함수
- RTRIM(str) : 문자열 오른쪽 끝의 공백을 제거합니다.
- LTRIM(str) : 문자열 왼쪽 끝의 공백을 제거합니다.
- TRIM(str) : 문자열 양쪽 끝의 공백을 모두 제거합니다.
앞쪽 공백까지 한 번에 정리하고 싶다면 TRIM() 함수를 사용하는 것이 좋습니다. 또한 UPDATE 문과 함께 사용하면 조회 시에만 적용되는 것이 아니라 테이블에 저장된 데이터 자체에서 공백을 영구적으로 제거할 수 있습니다.
mysql> update DemoTable set FirstName = rtrim(FirstName);