Oracle/Tip

날짜조회

소마후니 2015. 9. 14. 19:20


 

--DEFINE BASE_DT = '20090402'
--날짜 조회
 
SELECT 
:BASE_DT  
/*!기준일 */ BASE_DT,

TO_CHAR(TO_DATE(:BASE_DT,'YYYYMMDD')-1,'YYYYMMDD') 
/*!전일 */ PR_BASE_DT,

 SUBSTR(:BASE_DT,1,6) || '01'  
/*!당월시작일  */ THIS_MONTH_START_DT,

 SUBSTR(TO_CHAR(ADD_MONTHS(TO_DATE(:BASE_DT,'YYYYMMDD'),-12),'YYYYMMDD'),1,4)||'0101'
 /*!전년시작일  */ PRE_YEAR_START_DT,

SUBSTR(TO_CHAR(ADD_MONTHS(TO_DATE(:BASE_DT,'YYYYMMDD'),-12),'YYYYMMDD'),1,4)||'1231'             
/*!전년마지막일  */ PRE_YEAR_END_DT,

SUBSTR(TO_CHAR(ADD_MONTHS(TO_DATE(:BASE_DT,'YYYYMMDD'),-1),'YYYYMMDD'),1,6) || '01'
  /*!전월시작일  */ PRE_MONTH_START_DT,

TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE(:BASE_DT,'YYYYMMDD'),-1)),'YYYYMMDD')
 /*!전월마지막일*/ THIS_MONTH_END_DT,

SUBSTR(TO_CHAR(TO_DATE(:BASE_DT,'YYYYMMDD'),'YYYYMMDD'),1,4)||'0101'
  /*!당년시작일  */ THIS_YEAR_START_DT

FROM DUAL