-
[DB] 함수를 사용하지 않고 만 나이 쉽게 계산하기DB 2021. 8. 15. 20:41
만 나이를 계산하려면 생일이 지났는지, 지나지 않았는지에 따라 계산이 달라집니다. 하지만 아래에서 설명하는 수식을 사용하면 아주 쉽게 만 나이를 구할 수 있습니다.
floor((현재 연월일 - 생년월일) / 10000) 현재 날짜: 20210815 생년월일1: 20001225 select floor((20210815 - 20001225) / 10000); -- 20 현재 날짜: 20211225 생년월일1: 20001225 select floor((20211225 - 20001225) / 10000); -- 21
위 식이 성립하는 이유는 구하고자 하는 연도 - 생일 연도 를 하게 되면 한국 나이 - 1 의 값이 나오게 됩니다. 여기서 구하고자 하는 월, 일이 생일 월, 일보다 적다면 앞에서 구한 값에서 1살을 더 빼야 되고 많다면 뺄 필요가 없어집니다.
말로 설명하려니 더 복잡한 것 같지만 아래 예시를 보면 바로 이해를 할 수 있습니다.
현재 날짜: 20210815 생년월일1: 20001225 2021 - 2000 = 21 0815 - 1225 = -410 이를 위 수식대로 계산하면 20210815 - 20001225 = 209,590 현재 날짜: 20211230 생년월일1: 20001225 2021 - 2000 = 21 1230 - 1225 = 5 이를 위 수식대로 계산하면 20211230 - 20001225 = 210,005
10,000으로 나눈 후, 나머지는 모두 버리게 되면 만 나이가 나오게 됩니다.
이러한 계산법은 sql 뿐만 아니라 다른 곳에서도 사용이 가능합니다.