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)
다음검색