select substring(convert(varchar(10),getdate(),112),1,4) -19 from test
이렇게 하면... 값이 1988 이런식으로 나옵니다.
이 값을 맨 끝 두지리인 88 이렇게 나오게 하는 방법은 없을까요? 감사합니다.
먼저 답변 감사드립니다. ^^ 그렇게 되면.. 07 - 19 가 되 버려서.. 원하는 값을 산출 하기 어렵습니다. 제가 원하는 건.. 현재 2007 - 19 가 되서 .. 1988 이 되면.. 88년 생이 되고... 이를 주민 번호 앞자리 둘과 비교하여 나이를 산출하려 하는 겁니다 . 그래서 1988 의 뒤에 두 자리인 88을 나타내려고 하는 것이죠.. substring 을 앞에 사용했는데..계속 에러가 나서 문의 드립니다 . 관심있으신 분의 지도 부탁드립니다. 감사합니다.
답변 감사드립니다 . 제가 mssql 은 첨이라서... 함수나 뭐 이렁게 익숙치가 않네요... ^^;; 그런데요.. 1900 을 붙여서 하면 간단하지만.... 나중에 2000 까지를 커버해야 하기 때문에... 1900 을 빼고.. 19 를 빼서.. 나이를 계산하려고 하는 것입니다. 물론 현재의 날짜에서 죠.. ^^ DB 관리와 시스템 관리만 하다 개발 하려니.. 머리가.... ㅡㅡ;; 다시 한번 더 아이디어 없을까요.? 위에 저 계산에서 맨 뒷자리만 나오면 될 듯 한데.. 참 않되네요.. ^^;; 그냥 프로그램에서 해결해야 할지... ^^;; 감사합니다.
제가 요아래 나이 구하는 sql에 올린 sql문입니다.
select year(getdate())-
case substring(주민번호,7,1)
when '1' then 1900-substring(주민번호,1,2)
when '2' then 1900-substring(주민번호,1,2)
when '3' then 2000-substring(주민번호,1,2)
when '4' then 2000-substring(주민번호,1,2)
end
as 나이
from 테이블
관심 갖아 주시고... 해결책을 주셔서 감사합니다. ^^;; 일단 4자리로 뽑고 그냥 프로그램으로 두자리 숫자로 커버하기로 했네요.. sql 로 될거 같은데 mssql 은 첨이라... 시간도 별로 없고... ^^;; 감사합니다. 항상 건승하세요.. ^^