T-SQL(日期) - 如何在一小时内获得价值?

时间:2011-09-28 19:41:02

标签: sql-server-2005 tsql

我正在寻找一个最佳的决定,如何根据他们的日期和时间获取表值,但仅在过去一小时内。

我的意思是这种方式(伪代码):

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

出于此问题的目的,Table包含以下列:

  • value
  • date

赞赏任何有用的片段:)

2 个答案:

答案 0 :(得分:22)

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 

更多信息:

答案 1 :(得分:2)

这样的事情应该有效。

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