시간간격을 년, 개월, 일수로 보기 (Posted: 2006-04-28 10:16:36) | |
|
글쓴이 : 김홍선 문제) emp table에서 오늘 날짜 까지의 근무일자를 보고 싶습니다 .. 근무 일수는 6년 2개월 2 일 위와 같이 일자 까지 보려면 어떻게 해야 하는지요 EMPNO ENAME HIREDATE ------- ------ --------- 1 7369 SMITH 1980-12-17 2 7499 ALLEN 1981-02-20 3 7521 WARD 1981-02-22 4 7566 JONES 1981-04-02 5 7654 MARTIN 1981-09-28 6 7698 BLAKE 1981-05-01 7 7782 CLARK 1981-06-09 8 7788 SCOTT 1982-12-09 9 7839 KING 1981-11-17 10 7844 TURNER 1981-09-08 11 7876 ADAMS 1983-01-12 12 7900 JAMES 1981-12-03 13 7902 FORD 1981-12-03 14 7934 MILLER 1982-01-23 답변) (sysdate - hiredate)의 시간간격을 년, 개월, 일수로 계산하는 문제이다. (hiredate는 date타입) 1년과 1개월을 계산하는 방식이 주어지지 않았으므로, SQL 함수에서의 계산 방식만을 따르기로 한다. 그리고 위에 주어진 3개의 컬럼에 년, 개월, 일 의 컬럼을 추가하여 보여지도록 한다. 쿼리는 아래와 같다. SELECT empno , ename , hiredate , TRUNC (mb / 12) || '년' year# , TRUNC (MONTHS_BETWEEN (SYSDATE , ADD_MONTHS (hiredate, 12 * TRUNC (mb / 12)) )) || '개월' month# , TRUNC (SYSDATE - ADD_MONTHS (hiredate, TRUNC (mb))) || '일' day# FROM (SELECT empno , ename , hiredate , MONTHS_BETWEEN (SYSDATE, hiredate) mb FROM emp) EMPNO ENAME HIREDATE YEAR# MONTH# DAY# ----- ------ ---------- ------ ------ ---- 7369 SMITH 1980-12-17 25년 7개월 9일 7499 ALLEN 1981-02-20 25년 5개월 6일 7521 WARD 1981-02-22 25년 5개월 4일 7566 JONES 1981-04-02 25년 3개월 24일 7654 MARTIN 1981-09-28 24년 9개월 28일 7698 BLAKE 1981-05-01 25년 2개월 25일 7782 CLARK 1981-06-09 25년 1개월 17일 7788 SCOTT 1987-04-19 19년 3개월 7일 7839 KING 1981-11-17 24년 8개월 9일 7844 TURNER 1981-09-08 24년 10개월 18일 7876 ADAMS 1987-05-23 19년 2개월 3일 7900 JAMES 1981-12-03 24년 7개월 23일 7902 FORD 1981-12-03 24년 7개월 23일 7934 MILLER 1982-01-23 24년 6개월 3일 #30분동안 음악들으며 원리파악에 나섰다 ㅡㅡ; 쉬운원리인데.. 역시 공부할땐 집중하는게 최고인듯~ 원리는.. 기준일자에서 얼마나 현재까지의 시간이 벌어져있나를 년,월,일 단위로 재서 계산하는것임!! |
반응형
'아이티 > oracle&DB' 카테고리의 다른 글
오라클에서 Table 정보 및 Column정보 조회하기 / 데이터사전 (0) | 2011.11.17 |
---|---|
msvcp71.dll msvcr71.dll 오류 해결법 (0) | 2011.04.13 |
[ORACLE/SQL] 함수 - 숫자함수 (0) | 2010.02.22 |
Java를 이용한 CLOB, BLOB 조작법 (0) | 2009.11.10 |
DataType 중 Blob을 아세요...??? (0) | 2009.11.10 |
oracle에서 access방법 (0) | 2009.09.29 |
랜덤하게 시리얼번호(serial number) 생성하기 (0) | 2009.02.13 |
달력생성쿼리의 새버전을 공개합니다. (0) | 2009.02.13 |
CMD창으로 오라클9i 원격 데이터베이스 접속방법 (0) | 2008.10.27 |
[Oracle] Tablespace 크기 및 상태 점검을 위한 쿼리 (0) | 2008.10.09 |