T-SQL (дата) - как получить значение в течение одного часа?

Я ищу оптимальное решение о том, как получить значения таблиц в соответствии с их датой и временем, но в течение только одного часа.

Я имею в виду что-то таким образом (псевдокод):

 SELECT value FROM Table WHERE date BETWEEN getdate() AND getdate()-ONE_HOUR

Для целей этого вопроса Table имеются следующие столбцы:

  • value
  • date

Приветствуется любой полезный фрагмент:)

Ответы

Ответ 1

SELECT Value
FROM Table
WHERE Date between dateadd(hour, -1, getdate()) and getdate()

Описание функции DATEADD:

DATEADD (datepart , number , date )

Возвращает указанную дату с указанным интервалом (целое число со знаком), добавленным к указанной дате части этой даты.

datepart     Abbreviations  
-----------  -------------
year         yy, yyyy
quarter      qq, q
month        mm, m
dayofyear    dy, y
day          dd, d
week         wk, ww
weekday      dw, w
hour         hh 
minute       mi, n
second       ss, s
millisecond  ms 
microsecond  mcs 
nanosecond   ns 

Дополнительная информация:

Ответ 2

Что-то вроде этого должно работать.

SELECT value
FROM Table 
WHERE date >= dateadd(hour,-1,getdate())
   and date <= getdate()