PP01 ~ PP99 , PPA01 ~ PPA99 이런식 증가하는 쿼리질문입니다 0 4 617

by 꿀잠모드 [SQL Query] [2019.10.23 19:01:12]


안녕하세요 코드값증가하는 쿼리 문의드립니다

PB01 에세 PB99 만나면 PBA01 부터 PBZ99 까지 가능한지 문의드립니다 앞 알파벳 두자는 의미없습니다 01 ~ 99 A01 ~ A99 B01 ~ B99 

고민해도 답이안나오내요

오라클입니다

by jkson [2019.10.24 08:32:12]

한방에 다 나오는 쿼리를 말씀하시는 건지 특정값을 받았을 때 다음 값을 구하는 쿼리를 말씀하시는 건지 모르겠네요.

select replace(a||b,'@') val
  from (select chr(63 + level) a from dual connect by level <= 27)
      ,(select lpad(0 + level,2,'0') b from dual connect by level <= 99)
 order by a||b
with t as
( 
select lpad(:val,3,'@') val from dual
)
select case when val = 'Z99' then '다음값없음'
            when substr(val,2) = '99' then 
                 chr(ascii(substr(val,1,1)) + 1) || '01' 
            else replace(substr(val,1,1)||lpad(to_number(substr(val,2)) + 1,2,'0'),'@') end as val
  from t

 


by 우리집아찌 [2019.10.24 09:05:28]

미리 데이터를 생성해놓고 불러쓰는게 좋지않을까 합니다


 


by 꿀잠모드 [2019.10.24 09:33:07]

Jkson님 감사합니다 제가 원하는

데이터입니다 


by 우리집아찌 [2019.10.25 10:31:59]

substr( val , -2 )

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입