깜놀하는 해므찌로

Oracle TimeStamp to NUMBER CONVERT 오라클 타임스탬프 숫자 정수형 변환 예시 / Oracle EXTRACT 예시 / 오라클 추출 본문

IT

Oracle TimeStamp to NUMBER CONVERT 오라클 타임스탬프 숫자 정수형 변환 예시 / Oracle EXTRACT 예시 / 오라클 추출

agnusdei1207 2022. 7. 25. 17:13
반응형
SMALL
<select id="statisticsOverTimeExcelDown" parameterType="VO" resultType="VO">
    /* VO.statisticsOverTimeExcelDown */
    <![CDATA[               
        SELECT	AVG(EXTRACT(DAY FROM (END_DATE -  STA_DATE)*60*24))  				avgTime
             ,  SUM(TO_NUMBER(EXTRACT(DAY FROM (END_DATE -  STA_DATE)*60*24))) 		totalTime   
             ,	TO_CHAR(TO_DATE(B.RGST_DT), 'YYYY.MM') 								rgstDt
          FROM	t_over_add A 
          LEFT 	OUTER JOIN t_over_time B
            ON 	A.OT_SEQ = B.OT_SEQ
           AND 	B.USE_YN = 'Y'  
         WHERE	A.USE_YN = 'Y' 
           AND 	TO_CHAR(TO_DATE(B.RGST_DT), 'YYYY.MM')  = #{schEtc01}
         GROUP 	BY TO_CHAR(TO_DATE(B.RGST_DT), 'YYYY.MM')
        ]]>   
</select>

1. 종료일 - 시작일 계산 후

2. *60*24 를 통해 분 단위를 추출

3. DAY FROM 이지만 실제 계산된 데이터는 MINUTE, 즉 분 단위라는 사실!

4. 추출된 결과 분단위 정수를 AVG 로 계산한다.

5. 마찬가지로 SUM 으로 계산한다.

반응형
LIST