DB/Oracle

[Oracle] TRIM, LTRIM, RTRIM 함수 사용방법

콩다영 2021. 2. 15.
728x90

오라클 TRIM, LTRIM, RTRIM 함수 사용방법

 

 

TRIM 함수는 문자열의 양쪽 공백을 제거하는 기본적인 함수 !

LTRIM과 RTRIM 함수 역시 왼쪽과 오른쪽의 공백을 제거할 때 사용하는 함수이다.

여기서 LTRIM과 RTRIM은 추가적으로 옵션을 줘서 반복적인 문자나 특정 문자를 제거할 수 있당 !!

 

사용방법을 확인해보자 ! :D ~

 

 

 

 

 

TRIM 함수

: 문자열의 양쪽 공백을 제거하는 함수이다.

SELECT TRIM("문자열")
  FROM TEST_TABLE

 

 

LTRIM 함수

: 문자열의 왼쪽 공백을 제거하고, 왼쪽의 반복적인 문자나 특정 문자를 제거할 수 있다.

SELECT LTRIM("문자열", 옵션)
  FROM TEST_TABLE

 

 

RTRIM 함수

: 문자열의 오른쪽 공백을 제거하고, 오른쪽의 반복적인 문자나 특정 문자를 제거할 수 있다.

SELECT RTRIM("문자열", 옵션)
  FROM TEST_TABLE

 

 

 

 

 

각 함수의 사용방법을 확인했으니,

예제에 적용시켜 결과를 확인해보자 ! 

 

 

우선, 옵션을 안주는 조건으로 간단한 예제를 실행시켜 보았다 !!

WITH KONGDA AS (
	SELECT '0001' TESTNO
    	    ,  '  TEST' TEXT
            ,  '  KOREA  ' CNTRY
    	  FROM DUAL
)

SELECT TEXT
    ,  TRIM(TEXT)
    ,  CNTRY
    ,  TRIM(CNTRY)
    ,  LTRIM(CNTRY)
    ,  RTRIM(CNTRY)
 FROM  KONGDA 

Oracle SQL Developer에서 실행해본 결과이다.

오른쪽 여백 확인이 조금 어렵지만,, 

확인해보면 TRIM함수는 양쪽 여백, LTRIM함수는 왼쪽 여백, RTRIM함수는 오른쪽 여백을 제거한 것을 확인할 수 있다   :)

 

 

 

 

 

 

이제는 LTRIM 함수와 RTRIM 함수에 옵션을 넣어주는 예제를 확인해보자 !

WITH KONGDA AS (
	SELECT '0002' TESTNO
    	    ,  '  COCONUT' LTEXT
            ,  'BANANA  ' RTEXT
    	  FROM DUAL
)

SELECT LTEXT
    ,  LTRIM(LTEXT)
    ,  LTRIM(LTEXT, 'CO' )
    ,  RTEXT
    ,  RTRIM(RTEXT)
    ,  RTRIM(RTEXT, 'NA' )
 FROM  KONGDA 

< 실행 결과 >

이렇게 실행하면 여백도 제거되고 반복적인 문자도 제거되는 줄 알았다...

근데 옵션이 적용이 안되었당 .. !!!

 

 

 

 

아래 코드처럼 TEXT들의 여백을 지워보니 옵션이 적용되었다.. 아마 옵션은 여백이 없을 때 적용이 되는 것 같다 ...

이 점을 유의하여 사용하여야겠당 !! ㅠ_ㅠ

WITH KONGDA AS (
	SELECT '0002' TESTNO
    	    ,  'COCONUT' LTEXT
            ,  'BANANA' RTEXT
    	  FROM DUAL
)

SELECT LTEXT
    ,  LTRIM(LTEXT)
    ,  LTRIM(LTEXT, 'CO' )
    ,  RTEXT
    ,  RTRIM(RTEXT)
    ,  RTRIM(RTEXT, 'NA' )
 FROM  KONGDA 

< 실행 결과 >

근데 RTRIM(RTEXT, 'NA')에서도 나는 결과가 'BA'가 나올 줄 알았는데 'B'만 나왔당 !

아마 'NA'를 하나로 보는 것이 아니라 'N'따로 'A'따로 인식하여 반복 제거를 하나보다... @_@

이 점도 알아두자 !!!

 

728x90
반응형

댓글