IT/ORACLE

[ORACLE] 오라클 나이 계산하기 (만나이) 오늘날짜, 특정날짜

나콘 2023. 7. 4. 14:26

 

 

1. 오늘 날짜 기준으로 나이 계산하기 

오늘 날짜 기준으로 나이 계산하기: 글쓰는 기준  현재 날짜가 2023년 7월 4일

생년월일: 1998년 9월 30일

나이: 24세 (2023년 - 1998년 = 25세, 7월 4일 기준으로 아직 생일이 되지 않았으므로 1세를 빼줍니다.)

 

SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, TO_DATE('19980930','YYYYMMDD'))/12) AS AGE 
FROM DUAL; 

출력값 : 24

 

2. 특정 날짜 기준으로 나이 계산하기:

생년월일: 1998년 9월 30일

특정 날짜: 2022년 1월 1일이라고 가정 

나이: 23세 (2022년 - 1998년 = 24세, 1월 1일 기준으로 아직 생일이 되지 않았으므로 1세를 빼줍니다.)

SELECT TRUNC(MONTHS_BETWEEN(TO_DATE('20220101 ','YYYYMMDD')), TO_DATE('19980930','YYYYMMDD')/12) AS AGE 
FROM DUAL; 

출력값 : 23

 

 

 

3. 오늘 날짜와 생일을 고려한 정확한 나이 계산하기:

오늘 날짜와 생일을 고려한 정확한 나이 계산하기: 현재 날짜가 2023년 7월 4일이라고 가정.

생년월일: 1998년 9월 30일 나이: 25세 (현재 날짜가 7월 4일이므로 2023년 - 1998년 = 25세)

 

SELECT CASE 
                WHEN TO_CAHR(SYSDATE,'MDD') < TO_CHAR(TO_DATE('19980930','YYYYMMDD'),'MMDD')
                THEN TRUNC (MONTHS_BETWEEN(SYSDATE, TO_DATE('19980930','YYYYMMDD'))/12) -1 
                ELSE TRUNC (MONTHS_BETWEEN(SYSDATE, TO_DATE('19980930','YYYYMMDD'))/12)
            END AS AGE
FROM DUAL ; 
반응형