Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- route
- 스크롤 이벤트 감지
- 호버
- scroll
- angular animation
- Ionic modal
- TAILWIND
- flex-1
- Router
- angular route
- 아이오닉 스크롤 이벤트
- summary
- egov spring ajax 사용 예시
- ApexChart
- Angular Router
- 셀렉트박스 커스텀
- 앵귤러 애니메이션
- Oracle LISTAGG 사용 예시
- angular modal
- formgroup
- angular button
- 옵저버블
- ajax 사용 예시
- 검색
- 스크롤 이벤트
- modal
- prisma
- 앵귤러 모달
- mysql if
- 모달
Archives
- Today
- Total
깜놀하는 해므찌로
Oracle 시간 계산 / Oracle FLOOR, MOD / 소수점 계산으로 보이도록 출력 본문
반응형
SMALL
<select id="id" parameterType="vo" resultType="vo">
/* vo.id */
<![CDATA[
SELECT EMPLY_SEQ emplySeq
, FLOOR(((TO_NUMBER(TOTAL_HOUR)*60) + (TO_NUMBER(NVL(TOTAL_MIN, 0))))/60) || '.' ||
MOD(((TO_NUMBER(TOTAL_HOUR)*60) + (TO_NUMBER(NVL(TOTAL_MIN, 0)))),60) col1
FROM t_over_add A
LEFT OUTER JOIN t_over_time B
ON B.USE_YN = 'Y'
AND A.OT_SEQ = B.OT_SEQ
WHERE A.USE_YN = 'Y'
AND B.STATUS = 'D'
AND TO_CHAR(B.APPLY_DATE, 'YYYY.MM.DD') = #{schEtc05}
]]>
<if test='schEtc04 != null and schEtc04 != ""'>
AND A.EMPLY_SEQ LIKE '%' || '[' || #{schEtc04} || ']' || '%'
</if>
</select>
문제
1. 결과 값이 3.333333333333333... 무한대 발생하는 문제 발생
2. ROUND 처리 시 반올림이 되므로 상세한 결과를 보기 어려움
3. Controller, jsp 에서는 되도록 연산을 삼가해야 하는 상황
해결
1. FLOOR 내림 함수를 활용하여 몫만 가지고 온다.
2. || '.' || 을 활용하여 소수점처럼 보이도록 출력
3. MOD 함수를 활용하여 나머지만 따로 출력
반응형
LIST
'IT' 카테고리의 다른 글
MSSQL / ORACLE / MARIADB / MYSQL Insert Trigger SQL 기본 입력 트리거 생성 예시 (0) | 2022.10.01 |
---|---|
이클립스 톰켓 서버 오류 시 세션 강제 종료 방법/ Eclipse tomcat server error / 톰캣 서버 세션 종료 CMD / taskkill (0) | 2022.09.30 |
@EnableScheduling 사용 예시 (0) | 2022.09.28 |
Spring Egov 복잡한 로직 이해하는 꿀팁 / 개발자도구 F12 Netword 활용법 (0) | 2022.09.27 |
Scheduler 스케줄러 Cron 크론식 (0) | 2022.09.26 |