[ Altibase ] - 날짜 관련 함수및 응용 예제
제목 : [ Altibase ] - 날짜 관련 함수및 응용 예제
설명 :
DB를 사용하다보면 날짜 관련한 함수를 많이 사용하게 된다.
예를들어 시작일 ~ 종료일을 계산할때 종료일부분이 바뀔우려가있고 시스템적으로 상수로 사용한다면 이런 부분도 괜찮을것같다.
사용법 및 예제 :
SYSDATE AS STARTDATE
SYSDATE - ( 1 / 24 / 60 / 60 ) AS ENDDATE
(1) 현재 날자에서 하루를 빼고 싶다고 하면
select sysdate - ( 1 ) from dual;
(2) 1시간을 빼고 싶으면
select sysdate - ( 1 / 24 ) from dual;
(3) 1분을 빼고 싶으면
select sysdate - ( 1 / 24 / 60 ) from dual;
(4) 1초를 빼고 싶은면
select sysdate - ( 1 / 24 / 60 / 60 ) from dual;
(5) 특정 시간을 계산하고 싶을때
SYSDATE - ( 1 / 24 / 60 / 60 * 60 ) 빨간색 부분이 1초 이므로 파란색부분을 곱해서 계산할 수 있다.
Query :
SELECT /* 올해 1월 1일 00시 00분 00초 */
TO_CHAR(TRUNC(SYSDATE,'YEAR'),'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT /* 2015년 현재 월 월1일 00시 00분 00초 */
TO_CHAR(TO_DATE('2015','YYYY'),'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT /* 2015년 2월 1일 00시 00분 00초 */
TO_CHAR(TO_DATE('201502','YYYYMM'),'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT /* 2015년 2월 2일 00시 00분 00초 */
TO_CHAR(TO_DATE('20150202','YYYYMMDD'),'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT /* 2015년 2월 2일 00시 00분 01초 */
TO_CHAR(TO_DATE('20150202','YYYYMMDD')+1/68400,'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT /* 2015년 2월 2일 00시 00분 01초 */
TO_CHAR(TO_DATE('20150202','YYYYMMDD')+1/24/60/60,'YYYY/MM/DD HH24:MI:SS')FROM DUAL;
SELECT /* 2015년 2월 2일 00시 00분 00초 -> 한달뒤*/
TO_CHAR(ADD_MONTHS(TO_DATE('20150202','YYYYMMDD'),1),'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
SELECT SYSDATE /* 1분전 */
, SYSDATE - ( 1 / 24 / 60 / 60 * 60 ) FROM DUAL;
경험 :
뒤에 * 60이 포인트다. 상수로 지정해놓고 사용해야할때 만약 변동가능성이있다면 이런식으로 사용하는것이 좋을듯하다.
검색단어 :