2014-07-17 5 views
2

내 데이터베이스에 이러한 기록을 가지고 :날짜 시간 비교 작업

enter image description here

또한 datetime

에서 date 열 유형 내가 가지고있는 테이블에서 일부 레코드를 가져 오는에 대한 쿼리 :

SELECT count(*) 
FROM Availibility 
WHERE [date]>= @StartDate AND [date]<[email protected] 

그리고이 결과의 스크린 샷입니다 :

enter image description here

나는 카운트 (*) = 5를 가질 것으로 예상하지만 4를 얻었다! 내 실수는 무엇입니까?

UPDATE

변경 SELECT COUNT(*)SELECT *에 :

enter image description here

그리고이 최신 기록입니다 : 내가 58에서 5 번째 변경하는 경우 또한

enter image description here

6, 나는 5 개의 결과를 얻었다! !!

alter index all on Availibility rebuild 

을하지만 결과는 동일하고 난 몇 초 4 개 기록이 :

이 쿼리로 인덱스를 다시 작성하려고합니다.

+1

같습니다? 'Select count (*) from Availability '를 실행하면 올바른 숫자를 얻을 수 있습니까? – Jenn

+0

아니요. 다른 조건이없고 count (*)에 올바른 번호가 있습니다. 또한 시작 시간과 종료 시간을 2:07:56 및 2:12:56으로 변경하면 5가됩니다. –

+3

'SELECT *'를 실행할 때 네 개의 행이 반환됩니다 – JodyT

답변

0

테스트 코드 : 당신이 어떤 다른 조건이 있습니까 당신이 (5)를 받고해야처럼

create table Availability 
(
    [date] datetime not null 
) 

insert Availability ([date]) select '2014-07-19 02:02:57.000' 
union select '2014-07-19 02:03:57.000' 
union select '2014-07-19 02:04:57.000' 
union select '2014-07-19 02:05:57.000' 
union select '2014-07-19 02:06:57.000' 
union select '2014-07-19 02:07:57.000' 
union select '2014-07-19 02:08:57.000' 
union select '2014-07-19 02:09:57.000' 
union select '2014-07-19 02:10:57.000' 
union select '2014-07-19 02:11:57.000' 
union select '2014-07-19 02:12:57.000' 

declare @startDate datetime = '2014-07-19 02:07:58.000' 
, @endDate datetime = '2014-07-19 02:12:58.000' 

select * 
from Availability 
where [date] between @startDate and @endDate 
+0

답변으로 게시 해 주셔서 죄송합니다 - 여기에 의견/형식 지정에 대한 토론을 돕기 위해 여기에. SQL Fiddle은이 목적을 위해 올바르게 작동하지 않습니다. – JohnLBevan

+1

다른 데이터베이스로 코드를 테스트하면 올바르게 작동합니다. 5 rows returned.this interesting ... –