Oracle2020. 11. 5. 10:59
728x90
반응형
SMALL

 

 

oracle은 TRIM, LTRIM, RTRIM 내장함수가 있다.

역할을 많은 분들이 예상하시는 그런 역할.  그렇다. 문자열 제거, 공백 제거이다.

함수이름만 들어도 짐작이 가는 사람들도 많을 듯.ㅎㅎ

 


기능>
LTRIM - 컬럼에서 지정한 문자를 왼쪽에서 제거한 결과를 반환한다.

RTRIM - 컬럼에서 지정한 문자를 오른쪽에서 제거한 결과를 반환한다.

TRIM - 컬럼에서 지정한 문자를 양쪽에서 제거한 결과를 반환한다.

LTRIM(컬럼, 제거할 문자)
-> 왼쪽에서부터 찾아서 제거
RTRIM(컬럼, 제거할 문자)
-> 오른족에서부터 찾아서 제거

TRIM ([LEADING, TRAILING, BOTH] 제거할 문자 [FROM] 컬럼)
-> LEADING : 왼쪽에서 제거
-> TRAILING : 오른쪽에서 제거
-> BOTH : 양쪽에서 제거
특별히 설정을 안해주면 기본값은 BOTH이며, 제거할 문자는 오직 1개이다.


예제1) LTRIM, RTRIM

SELECT LTRIM(' 사슴은 초식동물') AS LTRIM_1
      ,RTRIM('사슴은 초식동물 ') AS RTRIM_2
      ,RTRIM('사슴은 초식동물', '초식') AS RTRIM_3
      ,RTRIM('사슴은 초식동물', '동물') AS RTRIM_4
  FROM DUAL;

 

결과>
LTRIM_1              RTRIM_2              RTRIM_3              RTRIM_4
사슴은 초식동물        사슴은 초식동물         사슴은 초식동물        사슴은 초식

 

LTRIM_1은 앞의 공백이 제거된것이고, RTRIM_2는 뒤의 공백이 제거된것이고, RTRIM_3은 가장 오른쪽이 '초식'이 아니기 때문에 그대로 나온다.


예제2) TRIM

 

SELECT TRIM(' 사슴은 초식동물') AS TRIM_1
      ,TRIM('사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_2
      ,TRIM(BOTH '사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_3
      ,TRIM(LEADING '사' FROM '사슴은 초식동물 고생하는 관리사' AS TRIM_4
      ,TRIM(TRAILING '사' FROM '사슴은 초식동물 고생하는 관리사') AS TRIM_5
  FROM DUAL;

 

 

결과>
TRIM_1              TRIM_2                    TRIM_3
사슴은 초식동물       슴은 초식동물 고생하는 관리    슴은 초식동물 고생하는 관리

TRIM_4                     TRIM_5
슴은 초식동물 고생하는 관리사    사슴은 초식동물 고생하는 관리

 

 

 

MySQL만 쓰다가 Oracle을 쓰는데, 옵티마이저, 힌트를 비롯해서 오라클이 역시 좀더 묵직하다라는 느낌을 받는다.

기본함수를 잘 알아둬야 쿼리 작성의 생산성이 더 높아질 수 있겠다.

 

 

 

728x90
반응형
LIST
Posted by 사슴영혼'-'