CAFE

SQL Query Tips

주민등록번호로 나이 계산하기

작성자원쿼리맨|작성시간14.03.02|조회수1,861 목록 댓글 0

13자리로 주어지는 주민번호를 가지고 나이를 계산해 보자.
물론 가정은 아래와 같은 것들이 되겠다.

- 우리나라 나이 계산방식과 같이 태어나자마자 1살로 계산한다.
- 2000년 미만은 주민번호 7번째자리가 남녀에 따라 1이나 2이고,
  2000년 이상은 주민번호 7번째자리가 3이나 4이다.
- 1900년 미만과 내년이상은 고려하지 않는다.


주민번호 13자리가 변수 :jumin 으로 주어진다면,
아래와 같은 공식이 나오겠다.
(implicit type casting 을 크게 고려하지 않았다.)



SELECT   TO_CHAR (SYSDATE, 'yyyy')
       - 1899
       - 100 * (CEIL (SUBSTR (jumin, 7, 1) / 2) - 1)
       - SUBSTR (jumin, 1, 2)
age
  FROM (SELECT :jumin jumin
          FROM DUAL)

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼