2013-06-18 3 views
-2

시작 날짜와 종료 날짜가있는 시간 종료 요청에 대한 표가 있습니다. 오늘 만 일치하는 시작 날짜와 종료 날짜 사이에 레코드를 표시하고 싶습니다. 날짜 범위 사이에서만 오늘 레코드를 표시하는 방법이 있습니까?오늘 시작일과 종료일 사이의 SQL 표시

다음으로 내일은 별도의 SQL 쿼리에서 동일한 작업을 수행해야합니다.

+3

이 질문은 연구 노력을 전혀 나타내지 않습니다. ** 숙제를하는 것이 중요합니다 **. 당신이 발견 한 것과 *** 왜 당신의 필요를 충족시키지 못했는지 ***를 말해주십시오. 이것은 당신이 자신을 도우려고 시간을 투자했음을 보여줍니다. 명백한 답을 되풀이하지 않아도되며, 무엇보다도 당신은보다 구체적이고 적절한 대답을 얻는 데 도움이됩니다. [FAQ] (http://stackoverflow.com/questions/how-to-ask). – Kermit

+0

체크 아웃 http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap/325964#325964 –

+0

이미 시도 : CAST (CONVERT (VARCHAR, GETDATE(), 101) AS DATETIME) STARTINGON과 ENDINGON 사이 너무 많이 반환됩니다. I 해봤 (DATETIME AS) CONVERT (VARCHAR, GETDATE() 101) startingon <= CAST AND CAST (CONVERT (VARCHAR, GETDATE(), 101) DATETIME AS)는 여전히 user2498035

답변

1
SELECT * 
FROM MyTable 
WHERE Date() >= StartDate 
    AND Date() =< EndDate 
    AND DateField = Date() 

이렇게하면 오늘 날짜가 시작일과 종료일 필드 사이에있는 모든 레코드가 제공됩니다. 분명히 그것은 쿼리를 실행 한 날짜에만 작동합니다.

BETWEEN 연산자를 사용하여 해당 날짜를 정리할 수 있습니다 (즉, StartDate와 EndDate 사이의 Date()). 그러나 나는 그것에 대해 긍정적이지 않습니다.

+0

시작 날짜와 종료 날짜가 있기 때문에이 기능이 작동하지 않으므로 시작 날짜와 종료 날짜 사이에있는 경우에만 오늘 날짜와 동일한 모든 것을 표시해야합니다. – user2498035

+0

작동해야하는 업데이트 된 코드를 보려면 제 편집을 참조하십시오. –

+0

그렇다면 datefield 값은 어디서 오는가? – user2498035

관련 문제