hyuni.
2012. 7. 10. 13:36
2012. 7. 10. 13:36
|
글쓴이 : 김홍선
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)
출처 : http://www.soqool.com/ |