현재 내 쿼리가 현재 날짜에서 지난 7 일 동안 데이터를 가져옵니다. 지난 주 데이터 가져 오기 .Means 오늘 날짜가 2013-06-20 인 경우 데이터를 가져와야합니다. 지난 주 (2013-06-10 ~ 2013-06-16). 정확한 답변을 찾기 위해 많은 포럼을 찾았지만 여전히 찾을 수 없습니다.지난 주 SQL에서 데이터를 가져 오는 방법
여기에 다음 코드는 이전 주 월요일을 반환해야 내 쿼리
SELECT CONVERT(varchar(25),PostDate,107) AS duration, count(*) AS posts
FROM MDBDetails WHERE
DateAdd(dd, 0, DateDiff(dd, 0, PostDate)) <= DateAdd(dd, 0, DateDiff(dd, 0, GETDATE())) AND
DateAdd(dd, 0, DateDiff(dd, 0, PostDate)) >= DateAdd(dd, 0, DateDiff(dd, 0, GETDATE())) - 7
GROUP BY CONVERT(varchar(25),PostDate,107)
ORDER BY duration
당신이이 DB를하는 우리에게 얘기를해야합니다. sql에는 실제 표준 날짜/시간 함수가 없으므로 모든 DB가 자체적으로 구현합니다. –
7 일 전에 데이터를 가져와야한다는 의미입니까? –
@MarcB : 사실 날짜 처리에는 표준이 있습니다. 'interval' 데이터 유형을 사용하여 예를 들어 :'where postdate <= current_date - interval '7'day'은 ANSI SQL이 될 것이고 실제로 다양한 DBMS에서 이해할 수 있습니다. –