如何获取SQL中的最新日期?
我想做一个SQL查询,从日期列中获取今天的日期和最近的日期。因此,如果我的数据库中有三个记录,这些记录具有以下日期:
- 2012年3月8日
- 2012年3月2日
- 2011年12月8日
我希望SQL查询返回2012年3月8日和2012年3月2日(最近的日期)的所有记录。我怎样才能做到这一点?
我可以使用以下方法来约会今天的日期:
CONVERT( varchar(100), DATEADD( DAY, 0, getdate() ), 111)
谢谢你
编辑:谢谢大家。我还有一个问题。我创建了两个视图:
create view with top datesCREATE VIEW topDates AS
select DISTINCT TOP 3 replace(CONVERT(VARCHAR(20),date,111),'-','/') AS dates from CSAResults.dbo.Details
create view dateTwo
select *
from (select ROW_NUMBER() over (order by dates desc) as srNo, dates
from topDates)
AS employee
WHERE srNo=2
现在我想从数据库中选择*,其中列等于视图“ dateTwo”中的“ dates”列
select buildNumberfrom CSAResults.dbo.Details
where buildNumber LIKE '%Main '+ (SELECT dates FROM dateTwo) + '%'
但这什么也没有返回。
谢谢
回答:
您可以执行以下操作:
select datefrom yourtable
where
(
date = Convert(varchar(10), getdate(), 101)
OR
date IN (SELECT Max(date)
FROM yourtable
WHERE date!= Convert(varchar(10), getdate(), 101))
)
以上是 如何获取SQL中的最新日期? 的全部内容, 来源链接: utcz.com/qa/420559.html