1
select FLOOR(MONTHS_BETWEEN(SYSDATE,TO_DATE( '19890101','YYYYMMDD'))/12) AS AGE from dual

cs






해당 데이터에 다르지만 형태에 따라 맞춰 써주면된다.


나이정보가 들어간 테이블의 값이 'YYYY-MM-DD' 이면


 

1
select FLOOR(MONTHS_BETWEEN(SYSDATE,TO_DATE( '1989-01-01','YYYY-MM-DD'))/12) AS AGE from dual
cs



굳이 'YYYYMMDD' 형태의 값으로 뽑아 낸다고 하면

REPLACE를 사용하는 방법도 있다.


 

1
select FLOOR(MONTHS_BETWEEN(SYSDATE,TO_DATE( REPLACE('1989-01-01','-',''),'YYYYMMDD'))/12) AS AGE2 from dual
cs


결과값은 29로 현재 89년생의 1월생의 만 나이는29살이다.


 


'ORACLE' 카테고리의 다른 글

[Oracle] group by 에 대한 고찰.  (0) 2019.03.08
[ORACLE] 1이하의 소수점 처리  (0) 2017.09.21
[ORACLE] UNION // INTERSECT 연습  (0) 2016.09.23

+ Recent posts