1 | select FLOOR(MONTHS_BETWEEN(SYSDATE,TO_DATE( '19890101','YYYYMMDD'))/12) AS AGE from dual |
해당 데이터에 다르지만 형태에 따라 맞춰 써주면된다.
나이정보가 들어간 테이블의 값이 '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 |