2016년 2월 3일 수요일

[oracle]주민등록번호로 나이구하기

특정 테이블에 주민번호로 부터 나이를 구하기

ec_member 테이블

select * from ec_member;

id      passwd              name         regist_no              
usko 1234                 고우선 850102-2****** ...   등등


위처럼 데이터가 있다.

/*방법1*/
/*나이가 월수로 계산이 된다.*/
select name,  trunc(months_between(sysdate, to_date(case when substr(regist_no,8,1) in ('1','2')
                  then '19' || substr(regist_no,1,6)
                  when  substr(regist_no,8,1) in ('3','4')
                  then '20' || substr(regist_no,1,6)
              end,'YYYYMMDD'))/12)
            ,regist_no, current_date
from ec_member;

/*방법2*/
/*나이가 년도별로 계산이 된다.*/
select name, regist_no, "현재" - "생년월일"

from (select name ,substr(case when substr(regist_no,8,1) in ('1','2')
                  then '19' || substr(regist_no,1,6)
                  when  substr(regist_no,8,1) in ('3','4')
                  then '20' || substr(regist_no,1,6)
              end,1,4) "생년월일",regist_no, to_number(substr('20' || replace(to_char(current_date),'/',''),1,4),'9999') "현재"
             
from ec_member);

댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1