查找过去一小时内生成的记录

jus*_*eve 11 t-sql

创建记录时,我有一个smalldatetime名为myTime录制的字段.我需要选择在过去一小时内创建的记录的语法.

以为它会是:

and DATEDIFF("hh", datePart(hh, myTime), DatePart(hh, GETDATE()) < 1
Run Code Online (Sandbox Code Playgroud)

哪里 datediff

  1. 找几个小时
  2. 查看myTime中数据的小时部分作为开​​始
  3. 看看现在的小时部分结束
  4. 产生一个与'1'相比较的int

我得到的结果显然是方式,但我不知道为什么.

附录:由于这两个答案基本上都是一致的,因此这不会为我返回任何内容的事实必须追溯到我的表格是如何创建的.它是由LogParser针对IIS日志创建的,并且日期/时间信息分布在2个不同的字段中.Date只保存今日记录的日期信息:2010-06-08 00:00:00.000时间字段如下:( 2010-01-01 15:02:51.000所有记录的日期部分是01年1月1日).

Sam*_*eff 30

用这个:

SELECT  *
FROM    Whatever
WHERE   myTime > DATEADD(HOUR, -1, GETDATE())
Run Code Online (Sandbox Code Playgroud)