2016년 12월 28일 수요일

[닷넷교육,C#교육,실무교육학원추천_탑크리에듀][ tip ]퀴리문으로 만나이 구하기

[ tip ]퀴리문으로 만나이 구하기 (MS SQL) 
  
  
우선, 만나이 계산 : 현재나이 - 1 에서 현재 자신의 생일이 지났으면 
그대로이고, 그렇지 않다면 다시 - 1 을 한다. 

72년 5월 생을 예로든다면 

현재나이 2004 - 1972 + 1 = 33세 

현재나이 - 1 : 32세 

여기서 아직 생일이 지나지 않았으므로 

만나이 : 31세가 되는것입니다. 

이것을 쿼리구문으로 한다면 

declare @주민번호 char(13) 
set @주민번호 = '7205051000000' 
select year(getdate()) - 
      convert(smallint, case when substring(@주민번호,7,1) in ('1','2') then '19' 
                              when substring(@주민번호,7,1) in ('3','4') then '20' 
                              when substring(@주민번호,7,1) in ('9','0') then '18' 
                        end + left(@주민번호,2)) - 
      case when substring(@주민번호,3,4) >= substring(convert(char(10),getdate(),112),5,4) 
            then 1 else 0 
      end 

이런식이 되겠네요. 


출처: 현서 아빠 쉼터 
http://blog.naver.com/falconer00.do?Redirect=Log&logNo=80001939606 

댓글 없음:

댓글 쓰기