문자열을 포함한 시퀀스 생성 function 문의드립니다. 1

by 환상의딸기 [2019.02.28 17:42:05]


안녕하세요.

항상 좋은 정보 감사합니다.

이번에 문자열을 포함한 시퀀서 생성을 해야해서 문의를 드립니다.

형식은 A001~A99인데 A99까지 생성되었으면 다시 B01~B99 이런식으로 알파벳이 변경되면서 최종적으로 Z99까지 시퀀스를 생성하는 룰을 만들어야하는데요 이걸 하드코딩해서 만들어야하는지 아니면 다른 방법이 있는지 해서 문의드립니다.

답변주시면 감사하겠습니다. 그럼 즐거운 주말 행복한 하루 되세요 ㅎㅎ;

by 마농 [2019.02.28 18:31:21]
WITH t AS
(
SELECT 'A01' seq FROM dual
UNION ALL SELECT 'A12' FROM dual
--UNION ALL SELECT 'A99' FROM dual
)
SELECT DECODE(y, '99'
       , CHR(ASCII(x) + 1) || '01'
       , x || LPAD(y + 1, 2, '0')
       ) next_seq
  FROM (SELECT SUBSTR(MAX(seq), 1, 1) x
             , SUBSTR(MAX(seq), 2, 2) y
          FROM t
        )
;

 


by 환상의딸기 [2019.03.05 09:28:11]

마농님 감사합니다.ㅎㅎ

이렇게 간단하게 할 수 있는 방법이 있었네요..ㅠㅠ

마농님꺼 참고해서 수정을 해야겠습니다.

정말 감사합니다 ㅎ

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