z에서 끝나는 코드 ... beteen z and a 어떻게 해결하시나요? 0 3 719

by 신동규 [2016.08.25 09:22:32]


SELECT *
FROM (
        SELECT 'Z' YEAR FROM DUAL
        UNION ALL
        SELECT 'A' YEAR FROM DUAL
    )
WHERE YEAR BETWEEN 'Z' AND 'A'
;

년도 Z : 2016년 / A : 2017년

2016년 코드를 Z로 써서 2017년 코드 생성시 A로 생성하려 했으나...

결과가 제대로 나오질 않습니다.

기존 쿼리 대부분이 BETWEEN 구문을 사용하고 있는데 ....

상품코드에 사용되는거라 ... 한자리 문자중 Z보다 큰 문자는 없을까요?

수천개의 쿼리를 모두 뒤져서 문자를 숫자로 변경해서 사용해야 하는건지...ㅠㅠ

고수님들의 도움을 부탁드립니다.

 

 

 

by 마농 [2016.08.25 09:38:48]

1. 연도라고 한다면?
  - 코드를 사용할 이유가 없습니다.
  - 숫자 4자리 그대로 사용하시는게 맞구요.
2. 상품이라고 한다면?
  - 1자리 코드로는 부족할텐데요?
  - 또한 연도와 달리 상품코드를 Between 조건으로 사용할 이유도 없을 거구요.
3. 굳이 1자리 코드를 고집한다면?
  - 소문자(a ~ z)를 사용하면 되긴 합니다.


다음 쿼리 참고하세요.
기본적으로 사용되는 문자들의 아스키 코드값에 따른 순서를 보여줍니다.

SELECT LEVEL + 31 n
     , CHR(LEVEL + 31) x
  FROM dual
 CONNECT BY LEVEL <= 95
;

 


by sense [2016.08.25 10:39:09]

안녕하세요 마농님 인사이트 출판사입니다. nate 메일로 연락을 드렸는데, 답변이 없으셔서요. 혹시 sense@insightbook.co.kr 로 연락주실 수 있으신가요?


by 신동규 [2016.08.25 10:45:05]

마농님 답변 감사합니다.

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