T-SQL (дата) - как получить значение в течение часа? - PullRequest
14 голосов
/ 28 сентября 2011

Я ищу оптимальное решение о том, как получить табличные значения в соответствии с их датой и временем, но в течение ОДНОГО часа.

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

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

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

  • value
  • date

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

Ответы [ 2 ]

22 голосов
/ 28 сентября 2011
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 голосов
/ 28 сентября 2011

Как-то так должно работать.

SELECT value
FROM Table 
WHERE date >= dateadd(hour,-1,getdate())
   and date <= getdate()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...