SQL:从日期列

时间:2017-05-19 21:28:03

标签: sql sql-server

我有两栏“需要按日期”和“到期日期”如下:

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“

2 个答案:

答案 0 :(得分:0)

如果你想在Needbydate之后再获得任何日期,试试这个;

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

它将随机添加你的needbydate日期几天。

如果你想要到明年的第一天,试试这个;

SELECT DATEADD(年,+ 1,DATEADD(yy,DATEDIFF(yy,0,@ Needbydate),0))

答案 1 :(得分:0)

对不起家伙,如果我不清楚我在问什么。 我想出了答案

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

感谢您的时间