특정 기간의 Data를 조회할 때, 구간의 날짜는 시간 데이터를 갖고 있지 않는 Datetime타입인 경우.
(ex : 2019-04-05 00:00:00.000)
또는, 아예 문자열로 년월일 데이터만으로 조회 구간에 비교조건으로 사용하는 경우,
2019-04-05 ~ 2019-04-25 검색을 할 때, 실 데이터에 2019-04-25 14:23:12.039처럼시간값이 있는 경우에 대해서는 구간의 끝이 실제로 2019-04-25 00:00:00.000로 비교를 하는 것이기 때문에 위의 데이터를 제외하고 검색하게 됩니다.
이러한 경우 처리하는 방법은 몇 가지 있겠지만, 간단히 2가지 부류로 나눌 수 있을 것 같습니다.
1) 원본 데이터를 조회 시 년월일 데이터만 조회
즉, 시간값을 00:00:00.000으로 무조건 조회해 오는 방법입니다.
2) 비교 조건을 시간 값이 들어와도 처리할 수 있게 수정
이 경우는 2019-04-25(비교 구간의 끝)에 하루의 가장 큰 시간 값을 더해주는 방법입니다.
원래의 시간값에 ' 23:59:59.998'과 같은 값을 더하는 것입니다. TEST 해 봤을 때에는 ' 23:59:59.999'를 더하여 변환하는 경우 다음 날짜로 넘어가는 것을 확인하였습니다.
위의 4번째 결과값이 ' 23:59:59.999'를 더하여 변환한 값입니다.
'DB' 카테고리의 다른 글
[MSSQL] 인자 값이 있으면 비교, 없으면 비교안하는 쿼리 (3) | 2019.10.22 |
---|---|
[MSSQL] 사원의 성으로 숫자파악 및 정렬 (0) | 2019.10.10 |
[MSSQL] 날짜 비교하기 (0) | 2019.10.02 |
[MSSQL] 숫자에 단위구분 , 찍기 (0) | 2019.10.01 |
[MSSQL] Backup Schedule 설정하기 (0) | 2019.08.21 |