ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 뿐만 아니라 다른 곳에서도 사용이 가능합니다.

    댓글