Oracle 09 LTRIM, RTRIM, TRIM() - 문자, 공백 제거 함수

2023. 10. 5. 16:06database

관련자료  spring_1005.spl

LTRIM(char, [set]) - char의 좌측부터 set에 포함되지 않은 문자를 만날 때까지 set에 포함된 문자를 제거한다.

RTRIM(char, [set]) - char 우측부터 set에 포함되지 않은 문자를 만날 때까지 set에 포함된 문자를 제거한다.

LTRIM('ABC', 'BC') -> 'ABC' 왼쪽이 'A'이다 'BC'에 'A'가 포함되지 않아서 'ABC' 출력된다. 

LTRIM()으로 왼쪽 공백이나 숫자문자열을 제거하고,

RTRIM()으로 오른쪽 공백이나 숫자문자열을 제거한다

이 함수로 공백과 숫자문자열을 제거해서 이름만 출력할 수 있다.

 

RTRIM(LTRIM(속성명, '제거문자열SET'), 'SET') - 양방향에서 SET에 포함된 문자열 제거

 

TRIM ([옵션] 제거문자열 FROM 대상문자열)

[옵션]

BOTH -> 양쪽에서 제거문자열을 제거한다 하지만 대상문자열에서 제거문자열에 포함되지 않은 문자가 있으면 그 상태에서 출력되거나 다른 함수로 매개변수로 전달된다.

LEADING -> 대상문자열 왼쪽에서 제거문자열을 제거하다가 제거문자열이 없으면 제거를 멈춘다

TRAILING -> 대상문자열 오른쪽에서 제거문자열을 제거하다가 제거문자열이 없으면 제거를 멈춘다

TRIM(TRAILING 'B' FROM 'AAB  ') FROM DUAL -> 에서 오른쪽 공백때문에 'B'가 제거되지 않아 'AAB'가 출력된다

하지만 대상문자열에 공백이 없으면 오른쪽 B가 제거되어 AA가 출력된다

TRIM('AAB   ') FROM DUAL -> TRIM의 기본이 BOTH이므로 생략되었더라고 양방향에서 공백이 제거된다.

BOTH 같은 옵션이 없고 제거문자열이 없으므로 FROM 키워드 생략되어도 공백제거가 된다.

 

BOTH, FROM 생략

TRIM() 사용할 때 LEADING, TRAILING 옵션 없이 사용해도 'A', 'B'가 제거된다