본문 바로가기
컴퓨터&전자제품

오라클 함수 LTRIM과 RTRIM기능을 이용한 특정값 제거 응용

by 핑구야 날자 2009. 4. 15.
728x90
반응형

일반적으로 좌우측에 특정한 문자만 제거하는데 주로 사용했습니다. 그런데 사용하다보면 특정위치에 있는 특정문자를 모두 제거 하고 싶을 경우 아래와 같이 하면 좋을 듯합니다. 단, 좌우측의 특정문자가 연속해고 있는 경우는 조금 더 Skill이 들어가야 합니다. 오늘은 언급하지 않겠습니다. 예을 들면 DUAL이라는 Table이 있습니다. Table의 CATCODE라는 Field에 아래와 같은 문자열이 있다고 합시다.


 CATCODE  변경후1  변경후2
 A100A  A100  100A
 A100  A100  100
 A100Z  A100  100Z
 B0K  B0  0K
 C3345T  C3345  3345T

CATCODE에 있는 값을 변경후1과 변경후2의 값으로 변환하려고 합니다. 방법은 여러가지가 있겠지만 제가 쓰는 방법으로 하면 쉽게 됩니다. 더 좋은 방법이 있다면 달아주세요. 지식은 공유해야 커지거든요

변경후1
SELECT CATCODE,RTRIM(CATCODE,'ABCDEFGHIJKLMNOPQRSTUVWXYZ') CAT1 FROM DUAL
결과
CATCODE CAT1
 A100A  A100
 A100  A100
 A100Z  A100
 B0K  B0
 C3345T  C3345
* 연속해서 있은 경우 (C3345TT -> C3345)

변경후2
SELECT CATCODE,LTRIM(CATCODE,'ABCDEFGHIJKLMNOPQRSTUVWXYZ') CAT2 FROM DUAL
결과
CATCODE CAT2
 A100A  100A
 A100  100
 A100Z  100Z
 B0K  0K
 C3345T  3345T
* 연속해서 있은 경우 (CC3345T -> 3345T)



반응형

댓글