TRIM 함수는 문자열의 공백을 제거하는 기본적인 SQL 함수이다.
LTRIM 함수, RTRIM 함수는 왼쪽과 오른쪽의 공백을 제거할 때 사용하기도 하지만,
반복적인 문자나 특정 문자를 제거할 때도 자주 사용한다
1) 기본 문법
1-1) TRIM 함수
: 문자열의 양쪽 공백(스페이스바)을 제거한다.
TRIM("문자열")
1-2) LTRIM 함수
: 문자열의 왼쪽 공백 제거, 문자 왼쪽 반복적인 문자를 제거한다.
문자or문자열을 제거할 때는 가장 왼쪽에 제거할 문자가 있어야하고, 반복된 문자 전체를 제거한다.
LTRIM("문자열", "제거할 문자")
ex1) 왼쪽 공백 제거
결과로 좌측 공백 2개를 제거한 것을 확인할 수 있다.
ex2) 왼쪽 특정 문자열 제거
위 결과를 보면, 제거할 문자열인 'HE' 앞에 공백이 있어 제거가 되지 않은 모습을 확인할 수 있다.
위 결과는 제거할 문자열인 'HE'가 문자열에서 전체 제거된 모습을 확인할 수 있다.
1-3) RTRIM 함수
: 문자열의 오른쪽 공백 제거, 문자 오른쪽 반복적인 문자를 제거한다.
마찬가지로 문자or문자열을 제거할 때는 가장 오른쪽에 제거할 문자가 있어야하고, 반복된 문자 전체를 제거한다.
RTRIM("문자열", "제거할 문자")
ex1) 오른쪽 특정 문자("!") 제거
위 예시의 결과를 보면 문자열에서 '!'가 전부 제거된 것을 확인할 수 있다.
ex2) 오른쪽 특정 문자열("!!!") 제거
마찬가지로 제거할 문자열에 '!' 개수를 세 개를 입력했을 때도, 결과는 동일하다.
제거할 문자가 동일하다면 옵션의 문자 개수는 무관하다는 것을 알 수 있다.
2) 공백 제거
SELECT TRIM(' HELLO WORLD! ') AS TRIM,
LTRIM(' HELLO WORLD! ') AS LTRIM,
RTRIM(' HELLO WORLD! ') AS RTRIM
FROM DUAL;
결과값
TRIM 함수는 양쪽 공백 모두를 제거하였고, LTRIM과 RTRIM 함수는 각각 왼쪽과 오른쪽 공백만 제거하였다.
3) 반복적인 문자, 특정 문자 제거
SELECT LTRIM('COCONUT', 'CO') AS A,
LTRIM(' COCONUT', 'CO') AS B,
RTRIM(' COCONUT', 'T') AS C,
RTRIM('COCONUT ', 'T') AS D
FROM DUAL;
결과값
- A는 'CO' 문자열 모두를 제거하였다.
- B는 왼쪽부터 'CO' 문자열을 찾았지만, 공백이 포함된 경우는 적용되지 않기 때문에 그대로 출력되었다.
- C는 오른쪽부터 'T' 문자를 찾아서 제거하였다.
- D는 B와 마찬가지로 공백이 포함되어 문자가 제거되지 않았다.
[reference]
https://gent.tistory.com/194
https://kongda.tistory.com/34
https://gent.tistory.com/561
'DataBase > SQL' 카테고리의 다른 글
[SQL] NULL 관련 SQL 함수(NVL, COALESCE, NULLIF) (0) | 2025.04.21 |
---|---|
[SQL] 쿼리 결과가 없는 경우 0으로 반환하려면? (0) | 2025.03.14 |
[SQL] ORDER BY에 조건을 주려면? (0) | 2025.03.13 |