박현식 님께서 쓰시길::
> 오라클에 대해서 공부하고 있습니다. 고수님들의 답변을 부탁드립니다.
>
> 회원번호가 88232,95123,99221,..., 2000212,2000221 (NUNBER형) 이런식으로
> 1900년대는 앞의 두자리가 년도를 표시하고요, 2000년도 부터는 앞의 4자리가
> 년도를 표시하는 회원번호 입니다.
> 별도의 회원가입년도 칼럼을 만들지 않고, 현재 위와 같은 회원번호로 회원가입년도를 알아내는 방법
> 을 알려주세요.
>
> 감사합니다.
>
//------------------------------------------------------------------------//
오라클의 decode를 쓰면 됩니다.
즉 decode는 If Then Else라고 생각 하시면 됩니다.
SQL> select decode(substr(to_char('회원번호'),1,2),'20',
substr(to_char('회원번호'),1,4),
'19'||substr(to_char('회원번호'),1,2)
)
from 회원테이블;
해설> 회원번호가 NUMBER타입이기 때문에 CHAR로 바꾸고
회원번호의 앞자리 두자리가 20이면 네자리를 자르고
그렇지 않으면 19를 붙입니다.
도움이 되실지 모르지만 참고 하싶시요.
|