깜놀하는 해므찌로

Oracle || 문자열 붙이기 CONCAT 사용 예시 / Oracle CASE WHEN 사용 예시 본문

IT

Oracle || 문자열 붙이기 CONCAT 사용 예시 / Oracle CASE WHEN 사용 예시

agnusdei1207 2022. 8. 8. 13:47
반응형
SMALL
<select id="timeExcel" parameterType="vo" resultType="vo">
		/* VO.timeExcel */        
		<![CDATA[                   
			SELECT	CASE WHEN NVL(AVG(TO_NUMBER(A.TOTAL_HOUR)), '') = ''
                    THEN ''
                    ELSE AVG(TO_NUMBER(A.TOTAL_HOUR)) || '시간'                                       
                    END                                                                         avgHour
                 ,  CASE WHEN NVL(AVG(TO_NUMBER(A.TOTAL_MIN)), '') = ''
                    THEN ''
                    ELSE AVG(TO_NUMBER(A.TOTAL_MIN)) || '분'                                       
                    END                                                                         avgMin
				 ,	CASE WHEN NVL(SUM(TO_NUMBER(A.REST_HOUR)), '') = ''
					THEN ''
					ELSE SUM(TO_NUMBER(A.REST_HOUR)) || '시간'  
					END																			restHour
				 ,	CASE WHEN NVL(SUM(TO_NUMBER(A.REST_MIN)), '') = ''
					THEN ''
					ELSE SUM(TO_NUMBER(A.REST_MIN)) || '분'
					END																			restMin
				 ,	CASE WHEN NVL(SUM(TO_NUMBER(A.TOTAL_HOUR)), '') = ''
					THEN ''
					ELSE SUM(TO_NUMBER(A.TOTAL_HOUR)) || '시간'
					END																			totalHour									
				 ,	CASE WHEN NVL(SUM(TO_NUMBER(A.TOTAL_MIN)), '') = ''  
					THEN ''
					ELSE SUM(TO_NUMBER(A.TOTAL_MIN)) || '분'
					END																			totalMin
			     
			     ,	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  B.STATUS = 'D'
			   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. CASE WHEN 조건 THEN 참일 경우 ELSE 조건 외에 경우 END

3. NVL(NULL 혹은 빈 값 체크 할 변수, NULL 혹은 빈 값을 경우 고정할 값)

 

반응형
LIST