■■■ Develop ■■■/[ Database ]

[ Altibase ] - 날짜 관련 함수및 응용 예제

시드라엘 2015. 7. 20. 11:40

제목 : [ 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이 포인트다. 상수로 지정해놓고 사용해야할때 만약 변동가능성이있다면 이런식으로 사용하는것이 좋을듯하다.



검색단어 :