MySQL에서는 UPDATE 문과 함께 LTRIM(), RTRIM() 함수를 활용하여 테이블에 저장된 값에서 공백 문자를 제거한 뒤, 그 결과로 테이블을 갱신할 수 있습니다.
함수의 역할
- LTRIM(): 문자열 왼쪽(앞부분)의 공백을 제거합니다.
- RTRIM(): 문자열 오른쪽(뒷부분)의 공백을 제거합니다.
예제
예를 들어 'Student' 테이블의 'Name' 컬럼 값에 공백 문자가 포함되어 있을 가능성이 있다고 가정해 보겠습니다. 이 경우 아래와 같은 단일 쿼리만으로 해당 컬럼의 공백을 제거하면서 동시에 테이블을 업데이트할 수 있습니다.
mysql> Update Student SET Name = LTRIM(Name); Query OK, 0 rows affected (0.07 sec) Rows matched: 5 Changed: 0 Warnings: 0 mysql> Update Student SET Name = RTRIM(Name); Query OK, 0 rows affected (0.00 sec) Rows matched: 5 Changed: 0 Warnings: 0
실행 결과 해석
위 쿼리 실행 결과를 살펴보면 다음과 같은 의미를 담고 있습니다.
- Rows matched: 5: 조건에 해당하는 5개의 행이 조회되었음을 의미합니다.
- Changed: 0: 실제로 변경된 행이 없다는 뜻으로, 이는 해당 컬럼의 값에 이미 제거할 공백이 없었기 때문입니다. 만약 공백이 존재했다면 Changed 값이 그만큼 증가합니다.
양쪽 공백을 한 번에 제거하는 방법
왼쪽과 오른쪽 공백을 모두 제거하려면 두 함수를 중첩해서 사용하거나 TRIM() 함수를 활용할 수 있습니다.
mysql> Update Student SET Name = TRIM(Name);
이처럼 LTRIM(), RTRIM(), TRIM() 함수를 UPDATE 문과 조합하면 별도의 애플리케이션 로직 없이도 데이터베이스 차원에서 불필요한 공백을 손쉽게 정리할 수 있습니다.