오라클(Oracle) 나이 계산 개월 수, 일수, 총 며칠 계산 하기

오라클(Oracle) 나이 계산 개월 수, 일수, 총며칠 계산 하기


오라클 사용 시 나이 계산을 많이 사용하는데요. 단순 나이를 보이게 하기 위해선 현재 시각을 표시하는 sysdate와 생일로 계산하게 됩니다. 하지만 소아인 경우 개월 수, 1년 몇개월  또는 며칠 등의 세부적인 나이가 필요하기도 합니다.

나이를 세부 옹목별로  계산 하는 방법을 알아보겠습니다.

1. 나이만 계산

나이만 계산하는 기본 방법입니다.
MONTHS_BETWEEN으로 오늘과 생일을 계산한 다음 /12를 하면 나이가 계산됩니다.

생일이 2019-03-01인 소아의 나이를 계산해보겠습니다.

--나이만

1
2
3
SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, '2019-03-01'/ 12
 AS AGE 
 FROM DUAL 
cs

 



2. 개월 수 까지

 개월 수 까지 구하는 명령입니다.
결괏값은 1세 10개월 이렇게 나오게 됩니다.

1
2
3
4
5
6
SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, '2019-03-01'/ 12
 ||'세 ' 
 || MOD(TRUNC(MONTHS_BETWEEN(SYSDATE, '2019-03-01')), 12
 || ' 개월' 
 AS AGE 
 FROM DUAL
cs


 

 

3. 남은 일수 포함

년 월일 수까지 구해보겠습니다.
ADD_MONTH를 이용해서 정확한 날짜까지 구할 수 있습니다.

계산하면 1세 10개월 20일이라고 나오게 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
EXEC :BIRTHDAY :='2019-03-01'
 
SELECT 대치어 없음(MONTHS_BETWEEN(SYSDATE, :BIRTHDAY) / 12
 ||'세 ' 
 || MOD(TRUNC(MONTHS_BETWEEN(SYSDATE, :BIRTHDAY)), 12
 || ' 개월 ' 
 ||  TRUNC(SYSDATE 
 - ( ADD_MONTHS(  :BIRTHDAY 
 ,TRUNC(MONTHS_BETWEEN(SYSDATE, :BIRTHDAY) 
 ) 
 ))) 
 || ' 일 ' 
 AS AGE 
 FROM DUAL 
cs






4. 총 몇 개월 구하기

보통 소아는 몇 개월인지 표시하는 경우가 많습니다
몇 개월이지 구할 때 MONTHS_BETWEEN으로 계산하시면 됩니다.

1
2
3
4
5
EXEC :BIRTHDAY :='2019-03-01'
 
SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, :BIRTHDAY)) 
 AS AGE 
 FROM DUAL 
cs

 




5. 총 며칠

태어나서 총 며칠이 지났는지 계산합니다.
단순히 현재시간 - 생일을 하시면 됩니다.

1
2
3
4
5
EXEC :BIRTHDAY :='2019-03-01'
 
SELECT TRUNC(SYSDATE - TO_DATE(:BIRTHDAY)) 
 AS AGE 
 FROM DUAL
cs

오라클(Oracle) 나이 계산 개월수, 일수, 총며칠 계산 하기를 알아보았습니다.