이렇게하면 현재 시간의 시작과 끝을 얻을 것입니다 :
select dateadd(hour, datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate())))
, dateadd(hour, 1+datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate())))
설명 : dateadd(day, 0, datediff(day, 0, getdate()))
당신에게 오늘의 시작을 가져옵니다. 그런 다음 현재 시간을 추가합니다. 이전 십분 블록의 같은 라인을 따라
:
select dateadd(minute, datepart(minute, getdate())/10 * 10 - 10,
dateadd(hour, datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate()))))
, dateadd(minute, datepart(minute, getdate())/10 * 10,
dateadd(hour, datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate()))))
아니면를 작성하는 또 다른 방법 :
declare @lowerBound datetime = dateadd(minute, datepart(minute, getdate())/10 * 10 - 10,
dateadd(hour, datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate()))))
declare @upperBound datetime = dateadd(minute, datepart(minute, getdate())/10 * 10,
dateadd(hour, datepart(hour, getdate()),
dateadd(day, 0, datediff(day, 0, getdate()))))
select @lowerBound, @upperBound
는 PS 스택 오버플로 성능에 좋은 일을 계속!
'하는 currentDate \t LowerDate \t UpperDate 2011-05-10 20 : 07 : 10.243 \t 2011-05-10 20 : 00 : 00.000 \t 2011-05-10 20 : 10 : 00.000' 현재 10 분 블록이 될 것 같다 –
@Kyle Brandt : 대답, 지난 10 분간의 블록을 보여주기 위해 편집되었습니다. – Andomar
그럼 처음에는 10 번, 다음에 생각하면 다음 번에 +102 ... –