티스토리 뷰

참고 : 이 문서에 나오는 쿼리는 oracle 9i 이상에서 사용 가능 하다고 한다.

 

카드 등록시 유효기간의 년도를 표현 하기 위해 아래의 쿼리를 사용 하였다. 카드의 유효기간은 카드사 마다 조금씩 다르지만, 대략 5년 정도라고 한다. 그래서 조금 여유 있기 현재년도를 기준으로 앞뒤로 10년 정도씩 잡았다.

SELECT CAST(TMP.YEAR AS VARCHAR(4)) AS code  
     , TMP.YEAR || '년' AS text
  FROM (
        SELECT
        LEVEL + TO_CHAR(ADD_MONTHS(SYSDATE, - 12 * 10), 'YYYY') - 1 AS YEAR
        FROM DUAL
        CONNECT BY
        LEVEL <= ( TO_CHAR(ADD_MONTHS(SYSDATE, + 12 * 10), 'YYYY') - TO_CHAR(ADD_MONTHS(SYSDATE, - 12 * 10), 'YYYY') ) + 1
) TMP

 

결과

 

 

그리고 카드 유효기간의 월을 표현 하기 위해 아래의 쿼리를 사용 하였다.

SELECT LPAD(LEVEL, 2, '0') AS code
     , LEVEL || '월' AS text
  FROM DUAL CONNECT BY LEVEL <= 12

 

결과

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함