일반적으로 좌우측에 특정한 문자만 제거하는데 주로 사용했습니다. 그런데 사용하다보면 특정위치에 있는 특정문자를 모두 제거 하고 싶을 경우 아래와 같이 하면 좋을 듯합니다. 단, 좌우측의 특정문자가 연속해고 있는 경우는 조금 더 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)



Posted by 핑구야 날자

댓글을 달아 주세요

  1. 드자이너김군 2009.04.15 13:58 신고  댓글주소  수정/삭제  댓글쓰기

    오라클은 김군이 몰라욧~ ㅋㅋ 패쑤~

  2. 건강정보 2009.04.15 16:29 신고  댓글주소  수정/삭제  댓글쓰기

    이건 뭘까요?음......검색 한번 해봐야겠습니다^^

  3. Oranc 2009.04.15 19:28 신고  댓글주소  수정/삭제  댓글쓰기

    프로그래머시구나ㅋ 저도 같은 길을 걷고 있다는..a 열코 하세요.
    살짝 공부하고 갑니다.

  4. Sky walker 2009.04.15 22:53 신고  댓글주소  수정/삭제  댓글쓰기

    저는 무슨 말인지 전혀 모르겠네요 ㅋㅋ

  5. 최송연 2009.04.17 00:41 신고  댓글주소  수정/삭제  댓글쓰기

    몬 소린지....도통....ㅎㅎ
    프로그래머시라면...컴 박사님...?
    왕~~부럽습니당~~~