2017-05-19 43 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) 

謝謝您的時間