2014-11-07 66 views
0

桌子下面我有特定到期日的具体日期在我的表检索基于当前日期

DueDates 
2015-01-30 
2014-12-31 
2014-11-28 
2014-10-31 

我需要一个查询基于当前日期检索的具体日期。例如:如果我现在的日期是11/06,那么我应该只检索2014-11-28,直到我的当前日期是11/28。如果我现在的日期大于2014-11-28,那么我应该检索2014-12-31。

回答

2

所以你需要接近你当前日期的下一个日期?试试这个尺寸:

Select TOP 1 DueDates from Table where DueDates >=GETDATE() 
ORDER BY DueDates 
ASC; 
+0

好的。我用下面,但得到2014-12-31声明@sdate日期时间 组@ SDATE = '2014年11月6日' SELECT TOP(1)dd.date \t \t \t \t \t FROM duedates为DD \t \t \t \t \t其中dd.date> = @ SDATE \t \t \t \t \t ORDER BY dd.date DESC – vijaykud 2014-11-07 00:34:40

+0

糟糕抱歉,我的意思升序。但是,您的查询仍然应该导致2015-01-30。尝试提升,并告诉我会发生什么 – TheProvost 2014-11-07 00:38:01

+0

在SQL服务器中复制这个,它运行良好。 – TheProvost 2014-11-07 00:48:05