깜놀하는 해므찌로

Oracle 통계 시간 계산 FLOOR / MOD 본문

IT

Oracle 통계 시간 계산 FLOOR / MOD

agnusdei1207 2022. 9. 24. 08:11
반응형
SMALL
<select id="excelDown" parameterType="cmmnDefaultVO" resultType="VO">
    /* VO.excelDown */        
    <![CDATA[                
    SELECT  CASE WHEN C.totalTime IS NULL
                 THEN '-'
                 WHEN C.totalTime < 60
                 THEN C.totalTime || ' 분'
                 WHEN C.totalTime >= 60
                 THEN FLOOR(C.totalTime/60) || '시간' || ' ' || MOD(C.totalTime, 60) || '분'
                 ELSE '-'
            END  totalTime
      FROM  (SELECT NVL(SUM(TO_NUMBER(A.TOTAL_HOUR) * 60) + SUM(TO_NUMBER(A.TOTAL_MIN)), '') totalTime
              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  B.STATUS = 'D'         
         ]]>                           
         <if test='schEtc04 != null and schEtc04 != ""'>  
               AND  A.EMPLY_SEQ LIKE '%' || '['  || #{schEtc04} || ']'  || '%'		
         </if>          
         <![CDATA[               
               AND  B.APPLY_DATE BETWEEN #{searchStartDate} AND #{searchEndDate}) C
         ]]>
</select>

1. FLOOR 내림 함수 : 소수점은 전부 내림 처리

2. MOD 나머지 함수 : 몫이 아닌 나머지만 반환

반응형
LIST