이전 30 분 이내에 새 레코드를 찾는 쿼리를 실행하는 30 분마다 실행되는 스크립트가 있습니다. 실행중인 스크립트의 지연 유형을 설명하기 위해 이전 0 : 00-30 : 00 분 및 30 : 01-59 : 59 청크를 살펴보고 싶습니다.0-30 분 그룹의 데이터 쿼리
예를 들어, 내 스크립트 11:00시에 실행하는 경우, 나는
entered_date > 10:30 am AND < 11:00 am
을 가지고 그리고 그것은 오전 11시 30 분 실행했을 때, 내가 기대했던 새 행을 찾기를 기대 `entered_date> 11:00 am 및 < 오전 11:30 새 행.
내 스크립트가 어떻게 든 몇 초 지연, 및 11시 0분 2초에 달렸다 그래서 경우SELECT
fa.entered_date,
fa.text
FROM
form_answers fa
WHERE
AND fa.value = 1
AND fa.entered_date >= DATEADD(mi, -30, GETDATE())
, 나는 잠재적으로 기록을 놓칠 수 : 이런 식으로 뭔가를하는
은 마지막 실행 30 분 도착 그 중 entered_date
은 10:30:01입니다.
편집 :
이 나를 위해 일하게 끝난 것입니다 :
이fa.entered_date BETWEEN
DATEADD(mi,-30,CONVERT(VARCHAR(19),DATEADD(mi, DATEDIFF(mi, 0, GETDATE())/30*30, 0)))
AND
DATEADD(mi, DATEDIFF(mi, 0, GETDATE())/30*30, 0)
나는 당신과 당신의 추적 방법에 대한 Gordon의 제안에 동의합니다. 그러나이 특정 데이터베이스에 데이터를 삽입 할 수 없으며 데이터 만 쿼리합니다. 그것은 정말로 시계 방법을 사용하여 나를 떠난다. "현재"시간을 가장 가까운 값으로 반올림 한 다음 반올림 한 시간에서 30 분 후에 되돌아 보는 예제를 제공 할 수 있습니까? – etm124
당신의 제안으로, 나는 이것 같이 생각한다 : http://pastebin.com/SBeZTwKw – etm124