안녕하세요. 언제나 사이트에서 많은 정보를 알아 가고 있는 사람입니다.
이것저것 해보다가 답이 안나와서 질문을 드립니다...
총 근무일이 예를 들어 724일 이면 1년 11개월 29일 이렇게 출력되기를 원합니다.
현재는 저렇게 출력까지 했는 데
725일이면 1년 12월 이렇게 표기가 됩니다.
726일이면 1년 12월 1일 이렇게 표기가 되고
730일이면 2년 만 나오게 되어 있습니다.
이유는 1달의 기준을 30일로 나누다보니
1년은 365일 인데 5일이 빠진 경우가 발생 해서 그렇습니다.
밑에는 제가 년월일을 구했던 방법입니다.
-- 년 구하기
SELECT TRUNC(725/ 365) FROM DUAL
-- 월 구하기
SELECT TRUNC(MOD(725, 365) / 30) FROM DUAL
-- 일 구하기
SELECT ROUND(MOD(MOD(725, 365), 30)) FROM DUAL
위에서 725는 총 근무일수입니다.
30일로 나눈다는 게 어떻게 보면 잘못된 건지만 더 이상 어떻게 진행해야 되는지
고민해봐도 답이 잘 안나오네요..;;;
쿼리로 하다가 도무지 답이 안나와 FUNCTION으로 처리한건데
고수님들의 가르침 부탁드립니다.
좋은 하루 되시길 바랍니다^^