글쓴이 : 김홍선



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/

+ Recent posts