我想做一个SQL查询,从日期列中获取今天的日期和最近的日期。因此,如果我的数据库中有三个记录,这些记录具有以下日期:
我希望SQL查询返回2012年3月8日和2012年3月2日(最近的日期)的所有记录。我怎样才能做到这一点?
我可以使用以下方法来约会今天的日期:
CONVERT( varchar(100), DATEADD( DAY, 0, getdate() ), 111)
谢谢你
编辑:谢谢大家。我还有一个问题。我创建了两个视图:
create view with top dates CREATE 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 buildNumber from CSAResults.dbo.Details where buildNumber LIKE '%Main '+ (SELECT dates FROM dateTwo) + '%'
但这什么也没有返回。
谢谢
您可以执行以下操作:
select date from yourtable where ( date = Convert(varchar(10), getdate(), 101) OR date IN (SELECT Max(date) FROM yourtable WHERE date!= Convert(varchar(10), getdate(), 101)) )