Select cast(year(GetDate()) As Integer) -
cast(SubString((cast When SubString(주민등록번호 13자리,7,1) <= '2' Then '19' + 주민등록번호 13자리
Else '20' + 주민등록번호 13자리 End),1,4) As Integer) as mjumin
Ex) Select Cast(Year(GetDate()) As Integer) -
Cast(SubString((Case When SubString('8812251111111',7,1) <= '2' Then '19' + '8812251111111'
Else '20' + '8812251111111' End),1,4) As Integer) as mjumin
쿼리실행 결과 = 24
select ((year(getdate())+1) - cast(('19' + substring('주민등록번호 6자리', 1, 2)) as int))
Ex) select ((year(getdate())+1) - cast(('19' + substring('881225', 1, 2)) as int))
쿼리실행 결과 = 25
▶ 주민번호로 세대 구하기
검색된 나이를 10으로 나누면, 몫으로 해당하는 사람의 세대를 구할수있다.
select ((year(getdate())+1) - cast(('19' + substring('881225', 1, 2)) as int))/10
쿼리실행 결과 = 2
88년생 25살 = 20 대
'MSSQL' 카테고리의 다른 글
MSSQL_ 기본검색어(검색, 등록, 수정, 삭제) (0) | 2012.09.27 |
---|---|
mssql_ 문자열자르기 (1) | 2012.08.29 |
begin train (0) | 2011.12.26 |
다른 DB 테이블 그대로 Copy하여 Insert 하기 (0) | 2011.12.02 |
[mssql] table, view, function, procedure 일괄삭제 쿼리 (0) | 2011.09.29 |