2016-12-08 6 views
0

나는 이미 알고있는 날짜를 기준으로 다음 날짜를 반납해야한다는 요구 사항이 있습니다. 다음 쿼리를 사용하고 있지만 전체 레코드 집합에 대해 모든 날짜와 모든 nextdates를 반환합니다. 내 검색 날짜보다 큰 날짜를 요구하고 있다는 것을 이해할 수 있지만, WHERE = '2010-01-01 04:30:00.000'을 사용하면 아무 결과도 얻지 못합니다. 다음 날짜 만 가져 오는 방법은 무엇입니까?날짜 매개 변수를 기준으로 다음 날짜 가져 오기

쿼리 (SQL 서버 2012 Express를 사용하여)된다

SELECT [DateTime], [Item], LEAD([DateTime]) OVER (ORDER BY [DateTime]) NextDate 
FROM cteList 
WHERE [DateTime] > '2010-01-01 04:30:00.000' 
ORDER BY [DateTime]; 
+2

위로 1 .......... – scsimon

+1

'선택 '에'TOP 1'을 (를) 추가하려고 시도 했습니까? 전의. 'SELECT TOP 1 [DateTime] ... ' –

+0

당신이 원하는 결과를 말해주십시오. –

답변

1

다른 사람은 당신이해야 할 것입니다 당신이 WHERE [DateTime] =를 사용하려면 기존 쿼리 TOP 1

SELECT TOP 1 [DateTime], [Item], LEAD([DateTime]) OVER (ORDER BY [DateTime]) NextDate 
FROM cteList 
WHERE [DateTime] > '2010-01-01 04:30:00.000' 
ORDER BY [DateTime]; 

을 제한 할 수 있습니다 언급했듯이 테이블의 해당 행에 대한 정확한 datetime