TRIM([{BOTH|LEADING|TRAILING} [remstr] FROM] str)
TRIM() 함수는 다른 함수보다 사용법이 약간 복잡합니다. 기본으로 매개변수로 들어오는 문자열의 앞뒤 공백을 제거하고, 매개변수로 문자열만 있으면 앞뒤 공백을 제거한 나머지 문자열을 반환합니다. 또한, 공백이 아닌 특정 문자열을 제거할 수도 있습니다. BOTH, LEADING, TRALING 세 가지 옵션이 있는데, str 문자열에서 BOTH는 앞뒤 모두, LEADING은 앞, TRAILING은 뒤에 있는 remstr 문자열을 제거합니다. []로 표시한 부분은 생략할 수 있다는 뜻이므로 옵션 없이 매개변수인 문자열만 넣어도 됩니다.
설명이 복잡하니 예제를 보죠.
코드 6-20
SELECT TRIM(' MySQL ') BASIC,
TRIM(LEADING '*' FROM '***SQL***') LEFT_TRIM,
TRIM(TRAILING '*' FROM '***SQL***') RIGHT_TRIM,
TRIM(BOTH '*' FROM '***SQL***') BOTHS;
실행결과
먼저 TRIM(' MySQL ')은 ‘ MySQL ’에서 모든 공백을 제거하고 ‘MySQL’을 반환했습니다. TRIM(LEADING '*' FROM '***SQL***')은 * 문자를 ‘***SQL***’의 앞(LEADING)에서 제거하라는 의미이므로 ‘SQL***’를 반환했습니다. TRIM(TRAILING '*' FROM '***SQL***')은 뒤(TRAILING)에서 *를 제거하라는 뜻이므로 ‘***SQL’을 반환했습니다. TRIM(BOTH '*' FROM '***SQL***')은 앞뒤 모두(BOTH)에서 *를 제거해 ‘SQL’을 반환했습니다. 만약 LEADING, TRAILING, BOTH 중 어느 것도 명시하지 않으면 기본으로 BOTH가 적용되어 앞뒤에서 지정 문자를 모두 제거하고 반환합니다.