알파벳 리비전 컬럼 MAX값 찾기 0 8 4,107

by 손님 LPAD max값찾기 max [2011.08.29 17:12:57]


with t as (
Select 'A' Rev from dual
union all Select 'B' Rev from dual
union all Select 'C' Rev from dual
union all Select 'D' Rev from dual
union all Select 'AF' Rev from dual
union all Select 'AD' Rev from dual
)
 
Rev 필드는 알파벳으로 올라가는 리비전 필드입니다.
A부터 시작해서 ZZZ까지 올라가는데요..
질문 1. max 리비전인 AF를 찾고자합니다.
질문 2. 현재 리비전 정열은 하기 쿼리같이 하는데 다른 방법이 있는지도 궁금합니다. 
            Select * from t  Order BY length(Rev) desc , Rev desc 하는데요..
by 제로 [2011.08.29 17:56:57]
Select trim(max(lpad(Rev, 3))) Rev from t;

Select Rev from t order by trim(lpad(Rev, 3)) desc;

by 글쓴이 [2011.08.29 18:01:58]
제로님 고맙습니다. 죄송한데 하나만더 여쭤볼께요..
Rev가 D버전 이상인것만 나오게 하려면 어떻게 해야되나요?

by 글쓴이 [2011.08.29 18:04:56]
그리고 Select Rev from t order by trim(lpad(Rev, 3)) desc;
구문은 정렬이 원하는데로 안되네요.. 첫번째 알파벳으로만 소팅되네요..

by 제로 [2011.08.29 18:27:41]
Select Rev from t where rpad(Rev, 3) > 'C';

Select Rev from t order by lpad(Rev, 3) desc;

by 글쓴이 [2011.08.29 18:32:33]
Select Rev from t where rpad(Rev, 3) > 'C';
는 C 리비전 이상인 AD,AF가 안나오네요..
그냥 C,D만 나옵니다. ㅡ.ㅜ

by 제로 [2011.08.29 19:26:44]
select Rev
from (Select Rev, rownum rn
from t order by lpad(Rev, 3) desc)
where rn >= 3;

by 마농 [2011.08.30 02:01:37]
WHERE LPAD(rev, 3) >= LPAD('D', 3)

by 글쓴이 [2011.08.30 11:12:26]
마농님 제로님 고맙습니다. ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입