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

MySQL에서 LTRIM()과 RTRIM() 함수 없이 문자열의 선행·후행 공백을 한 번에 제거하는 방법

MySQL에는 LTRIM()RTRIM() 함수 외에도, 문자열의 선행 공백과 후행 공백을 한 번에 모두 제거할 수 있는 TRIM() 함수가 있습니다.

TRIM() 함수의 사용 방법은 아래 예시를 통해 쉽게 이해할 수 있습니다. 이 예시에서는 이름 데이터에 선행 공백과 후행 공백이 포함된 'Name' 컬럼을 가진 test_trim 테이블을 사용합니다.

예제

mysql> Select Name, TRIM(Name) AS 'Name Without Spaces' from test_trim;
+---------------+---------------------+
| Name          | Name Without Spaces |
+---------------+---------------------+
| Gaurav        | Gaurav              |
| Rahul         | Rahul               |
| Aarav         | Aarav               |
+---------------+---------------------+
3 rows in set (0.00 sec)

설명

위 결과에서 볼 수 있듯이, TRIM() 함수는 각 이름 앞뒤에 있던 불필요한 공백을 모두 제거한 깔끔한 값을 반환합니다. 즉, 선행 공백만 제거하는 LTRIM()과 후행 공백만 제거하는 RTRIM()을 따로 호출할 필요 없이, TRIM() 하나만으로 두 작업을 동시에 처리할 수 있습니다.

참고로 TRIM() 함수는 기본적으로 공백(스페이스)을 제거하지만, 다음과 같이 특정 문자열을 지정하여 제거 대상을 변경할 수도 있습니다.

  • TRIM(BOTH 'x' FROM str) : 문자열 양쪽에서 지정한 문자 'x'를 제거
  • TRIM(LEADING 'x' FROM str) : 문자열 앞쪽에서 지정한 문자 'x'를 제거
  • TRIM(TRAILING 'x' FROM str) : 문자열 뒤쪽에서 지정한 문자 'x'를 제거

따라서 데이터 정리(cleansing) 작업 시 사용자 입력값의 앞뒤 공백을 손쉽게 제거하고 싶다면, TRIM() 함수를 활용하는 것이 가장 간편하고 효율적인 방법입니다.