SQL在24小时内获取

SQL在24小时内获取,sql,datetime,sql-server-2008-r2,Sql,Datetime,Sql Server 2008 R2,可能重复: 我正在使用常规SQL尝试运行查询。我的桌子是这样的: Products ----------------- Product ID Date Weight 将日期作为日期时间输入数据库 我希望只能选择其产品的项目。日期在过去24小时内。一段时间以来,我一直在尝试获取此信息,以下是我获得的信息: Select Products.Date FROM Products WHERE Products.Date < DATEADD(d,-1,CURRENT_TIMESTAMP)

可能重复:

我正在使用常规SQL尝试运行查询。我的桌子是这样的:

Products
-----------------
Product ID  
Date 
Weight

将日期作为日期时间输入数据库

我希望只能选择其产品的项目。日期在过去24小时内。一段时间以来,我一直在尝试获取此信息,以下是我获得的信息:

Select Products.Date
FROM Products
WHERE Products.Date < DATEADD(d,-1,CURRENT_TIMESTAMP)

您是否真的想要
而不是
试试:


根据我在另一篇文章中的评论,如果你只想要之前的24小时(因此不包括未来的日期),那么试试以下方法:

SELECT Products.Date
FROM   Products
WHERE  Products.Date BETWEEN DATEADD(d,-1,CURRENT_TIMESTAMP) AND CURRENT_TIMESTAMP

日期为2011年,本年度为2012年:)

您还想使用>

Select *
FROM Products
WHERE Products.Date > DATEADD(d,-1,CURRENT_TIMESTAMP)

它不应该是DATEADD(d,-1,当前\u时间戳)和当前\u时间戳之间的
Products.Date,从而忽略未来的日期吗?尝试使用>,但实际上它不返回任何内容。我真的想要这个:2011-01-20 04:05:00。000@StuartBlackler,如果将来有什么事,那么是。@user965824,
=
然后呢?是datetime还是date类型?您试图获取的日期是2011年1月,这是一年前的日期。如果我们知道您正在使用的数据库(包括版本),这是否只是重新发布的日期?@NickChammas:thx,很好,请不要重新发布问题。谢谢!这似乎奏效了,没问题。找到解决方案后,请记住单击答案右侧的勾号:)
Select Products.Date
FROM Products
WHERE Products.Date BETWEEN DATEADD(d,-1,CURRENT_TIMESTAMP) AND CURRENT_TIMESTAMP;
SELECT Products.Date
FROM   Products
WHERE  Products.Date BETWEEN DATEADD(d,-1,CURRENT_TIMESTAMP) AND CURRENT_TIMESTAMP
Select *
FROM Products
WHERE Products.Date > DATEADD(d,-1,CURRENT_TIMESTAMP)