근무 시작 시간 (날짜 시간 형식)을 기준으로 2 개의 데이터베이스 테이블 (MS SQL DB)에서 정보를 검색하려고합니다. 나는 날짜 범위와 그 날의 특정 시간에 기록을 원하지만, 쿼리가 내가 쓴 쿼리는 를 작동하지 않는 것 같다MS SQL 쿼리 on 펀치 시간
select p.fullnm 'Fullname',
t.startdtm 'Start Date/Time'
FROM TIMESHEET t
join PERSON p on p.personid = t.employeeid
WHERE t.startdtm between '2016-01-01' and '2016-12-05'
AND datepart(hh, startdtm) between 6 and 8
AND datepart(mi, startdtm) between 00 and 15
내가 원하는 것은 모든 직원의 목록 자 1 월 1 일에서 5 월 12 일까지 오전 6 시부 터 오전 7시 15 분 사이에 근무했습니다. 어떤 도움이나 제안도 부탁드립니다.
샘플 데이터와 원하는 결과는 원하는 것을 설명하는 데 도움이됩니다. –
날짜와 시간 사이에 당신이 예상했던 것과 완전히 다르지 않다는 사실을주의하십시오. 날짜 만 지정하면 00:00:00이됩니다. 하한은 괜찮지 만 우리는 자연스럽게 상체에 23:59:59를 사용한다고 가정했지만 그렇지 않습니다. 영향은 상한 날짜의 00:00:00부터 모든 레코드를 놓치는 것입니다. 조심해. –