2017-05-19 31 views
0

最接近于特定日期的日期我有两列“需要日期”和“EXP日期”如下:SQL:从一列日期

Need By Date | Exp Date  | final Exp Date 
2018-02-06  2016-07-31   2019-01-01 
2018-02-06  2017-04-01   2019-01-01 
2018-02-06  2019-01-01   2019-01-01 
2018-02-06  2019-06-01   2019-01-01 
2018-02-06  2019-09-01   2019-01-01 

我需要得到一个列“最终精通日期“,即”需要按日期“后的最近日期!如何解决这个问题。

在这个例子中,“最终期限日期”栏是我期待看到的。在这种情况下,“需要按日期”是“2018-02-06”,大于和最接近“2018-02- 06“是”2019-01-01“

+1

“我需要得到一个列‘按日期‘’你这是什么意思极品’后,即日期衣柜”最终精通日期? –

+0

意思是“最终期限日期”列是我期待看到的。在这种情况下,“按日期需求”是“2018-02-06”,大于2018-02-06的日期是2019-01- 01。 –

+0

你如何定义2019-01-01的“最接近的日期”?你期待“明年的第一天”? –

回答

0

如果您想在Needbydate之后获得更多日期,请尝试此操作;

SELECT DATEADD(DAY,ROUND(((1000 - 3 -1)* RAND()+ 1),0),@ Needbydate)

将一些日子添加到您的needbydate日期随机。

如果你想获得下一年的第一天,试试这个;

SELECT DATEADD(年,+ 1,DATEADD(YY,DATEDIFF(YY,0,@ Needbydate),0))如果

+0

它不只是任何日期,日期必须在“Exp Date”列中。如果在我的“截止日期”有日期“2018-03-06”,我应该在“最终截止日期”中看到这个日期#参考评论 –

0

对不起球员,我是不是我问的是什么不清楚。 我想出答案

(select top 1 ExpDate from OBTN where ExpDate > Need by date order by s100.ExpDate) 

谢谢您的时间