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)