我正在寻找一个最佳的决定,如何根据他们的日期和时间获取表值,但仅在过去一小时内。
我的意思是这种方式(伪代码):
SELECT value FROM Table WHERE date BETWEEN getdate() AND getdate()-ONE_HOUR
出于此问题的目的,Table
包含以下列:
value
date
赞赏任何有用的片段:)
答案 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()