[DATABASE/Mysql] 시간, 기간
(FROM TO) 중복 체크 쿼리
이번에 강의실의 중복 쿼리를 짜게되어서 포스팅합니다.
필요할 것 같기도해서 ^^;
마이바티스트 구문을 그대로 썻으니 필요에 따라 변경하면 될 것 같네요 .
# 참고
시작 일자 = lecStDate
쫑료 일자 = lecEdDate
시작 시간 = lecStTime
종료 시간 = lecEdTime
SELECT
*
FROM
table
WHERE 1=1
AND
(
(lecStDate >= DATE_FORMAT(#{lecStDate},'%Y%m%d')
AND
lecStDate <![CDATA[<=]]> DATE_FORMAT(#{lecEdDate},'%Y%m%d')
)
OR
(lecEdDate >=DATE_FORMAT(#{lecStDate},'%Y%m%d')
AND
lecEdDate <![CDATA[<=]]> DATE_FORMAT(#{lecEdDate},'%Y%m%d')
)
OR
(lecStDate <![CDATA[<=]]> DATE_FORMAT(#{lecStDate},'%Y%m%d')
AND
lecEdDate >=DATE_FORMAT(#{lecEdDate},'%Y%m%d')
)
OR
(lecStDate >= DATE_FORMAT(#{lecStDate},'%Y%m%d')
AND
lecEdDate <![CDATA[<=]]> DATE_FORMAT(#{lecEdDate},'%Y%m%d')
)
)
AND
(
(lecStTime >= TIME_FORMAT(#{lecStTime}, "%H %i %s")
AND
lecStTime <![CDATA[<=]]> TIME_FORMAT(#{lecEdTime}, "%H %i %s")
)
OR
(lecEdTime >=TIME_FORMAT(#{lecStTime}, "%H %i %s")
AND
lecEdTime <![CDATA[<=]]> TIME_FORMAT(#{lecEdTime}, "%H %i %s")
)
OR
(lecStTime <![CDATA[<=]]> TIME_FORMAT(#{lecStTime}, "%H %i %s")
AND
lecEdTime >=TIME_FORMAT(#{lecEdTime}, "%H %i %s")
)
OR
(lecStTime >= TIME_FORMAT(#{lecStTime}, "%H %i %s")
AND
lecEdTime <![CDATA[<=]]> TIME_FORMAT(#{lecEdTime}, "%H %i %s")
)
)
'DATABASE' 카테고리의 다른 글
[DATABASE] Mysql SELECT 존재 여부 체크 (0) | 2018.10.26 |
---|---|
[DATABASE] Mysql UPDATE SELECT - 결과에 특정한 컬럼 값 업데이트 (0) | 2018.10.24 |
[DATABASE] SQL JOIN 설명 - 펌 (0) | 2018.10.17 |
[ DATABASE ] MSSQL - TCP 포트 열기 (0) | 2018.08.30 |
[ DATABASE ] MSSQL 2014 혼합인증 - JAVA 이클립스 에러 (0) | 2018.08.25 |