커피와 개발자

[Oracle] 두 기간 사이의 중복체크 본문

데이터베이스/Oracle

[Oracle] 두 기간 사이의 중복체크

광박이 2022. 10. 11. 14:45
728x90

프로그램을 처리하는 중 두 기간을 비교할 경우 사용

예를 들어 2019-08-01 ~ 2019-08-31 이 기간이 입력되어야 한다고 할 때, 

기존의 From~To기간과 겹치지 않도록 입력해야 한다는 조건이 존재하는 경우 이미 입력된 상태의 두 기간과 입력할 두 기간이 서로 겹치는지 확인할 수 있는 쿼리

-- 두 기간의 중복(겹침)여부 판단하는 쿼리
SELECT  COUNT(1) AS CNT
FROM    CHK_TABLE_NAME
WHERE   KEY0 = #{KEY_VAL0}
AND     KEY1 = #{KEY_VAL1}
AND     STT_DT < #{END_DT_VAL}
AND     END_DT > #{STT_DT_VAL}

여기서 입력되는 기간이 포함 될지 여부는 각각의 조건에 따라 다를 수 있음.

728x90
Comments