반응형
그제던가.. 일을 하다가 부득의하게 디비 update를 하게됬는데
대상자를 찾던중 필요한 부분을 빼게됬다...  아이런.. 잘모르는데.. ㅜㅡ
인터넷을 미친듯이 뒤지다가 찾은 한녀석.. ㅋㅋ

translate 라는 함수이다.

translate 에대해서 설명하자면 값에서 특정문자들을 쏙쏙 빼준다. ㅋㅋ 이렇게 고마운녀석을 보았다 싶었다.

translate (데이터값, 체크대상문자열, 교환문자열);
이렇게 되어 있는데. 음.. 뭐랄까 이상하다.

두가지 예제를 올려야겠다. 왜나는 이상한 값이 나올까..
오히려 영문을 제외해버리고 숫자만 나온다 원래는 이게 아닌데...
ex1)
select translate('128A5B8C9D4','1234567890ABCD','1234567890') from DUAL 

결과값 -> 1285894 이렇게 나온다.
원래는 순차 적용으로 알고 있는데.. ㄷㄷ 

다음 예제를 보면.. 해깔린다.. 정말.
ex2) 
select translate('128D5B8C9D4','1234567890ABCDEFGHIJKL','ABCDEFGHIJKL') from DUAL

결과값 -> ABHELHID 

이렇게 나온다 예상으로라면 DBCD 이렇게 나와야되는데..

아무튼 숫자는 정확하게 체크를 할수 있다는게 포인트~
숫자만 뽑아 낼때는 상당히 유용하다는것이다.. 

암튼 조심히 써야될꺼 같다.. 아니면 내가 잘못 이해한것일지도.. ㄷㄷ


ps. 다른 분이 만들어 놓은 예제를 약간 손을 봤다.
http://neokido.tistory.com/356 여기서 가져왔다. 
select translate('1tech23', '123456', '45A') from dual;
-> 4tech5A
select translate('222tech', 'ech2', '3itA') from dual; 
->  AAAt3it

음.. 왜 나는 안될까.. 조금더 알아봐야될꺼 같다. 
반응형

'프로그래밍 > ORACLE' 카테고리의 다른 글

[ORACLE] decode  (0) 2011.07.22
[ORACLE] sign  (0) 2011.07.22
[Oracle] commit 후 데이터 복구  (2) 2011.03.29
ORACLE 소수점이하 삭제.  (0) 2010.07.07
ORCLE 자주 사용하는 명령어  (0) 2010.07.07

+ Recent posts